MySQL 本地sql查询 使用函数出现不可理解的错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 本地sql查询 使用函数出现不可理解的错误相关的知识,希望对你有一定的参考价值。
Java中使用hibernate的本地SQL查询,执行下面的语句,
String sqlString="select count(*) from user";
Query query = this.getSession().createSQLQuery(sqlString);
query.uniqueResult();
mysql抛出异常:
...
Caused by: java.sql.SQLException: Column '' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:955)
at com.mysql.jdbc.ResultSet.getBigDecimal(ResultSet.java:1226)
at org.hibernate.type.BigIntegerType.get(BigIntegerType.java:34)
凡是在select后面跟函数的,比如MAX,MIN,CONCAT等等都遇到同样的异常。
上面的SQL在DB端直接写SQL执行没有任何问题,使用JDBC直接查询也没有问题,换成Oracle数据库再执行相同的代码也没有问题。只有在MYSQL,SQLQuery的时候出现异常。尝试升级Driver,问题依旧。
请问各位大侠是什么原因呢?
楼下两位兄弟的方法都没有喔
sql-maven-plugin 创建函数
【中文标题】sql-maven-plugin 创建函数【英文标题】:sql-maven-plugin create function 【发布时间】:2012-02-15 17:21:28 【问题描述】:我正在使用 hsqldb 和嵌入式码头实例(通过)maven 进行本地测试。该应用程序将在生产环境中使用 mysql 数据库。对于特定的查询,我需要调用 mysql 的 UNHEX()
。如何为 hsqldb 创建一个包装器,将其称为 HEXTORAW()
函数。我尝试了以下方法,但出现了 sql-maven-plugin 错误。
CREATE FUNCTION "UNHEX"(t VARCHAR(100))
RETURNS VARBINARY(100)
BEGIN
RETURN HEXTORAW(t);
END;
sql-maven-plugin 错误:
未能在项目 rms 上执行目标 org.codehaus.mojo:sql-maven-plugin:1.5:execute (default-cli): Unexpected token: FUNCTION in statement [ [错误] 创建函数]
如何创建包装函数?
【问题讨论】:
【参考方案1】:HSQLDB 2.x 支持 CREATE FUNCTION。如果您使用 HSQLDB 2.2.8 或更高版本,它应该可以工作。
【讨论】:
以上是关于MySQL 本地sql查询 使用函数出现不可理解的错误的主要内容,如果未能解决你的问题,请参考以下文章
MySQL数据库代码中,两个exists语句同时出现同一查询语句中时,怎么理解,,越详细越好。,