druid 解析SQL语句出错,应该是关键字truncate的问题
@wenshao 你好,想跟你请教个问题:
我想问下,在druid中,truncate是不是也被认为是关键字了?
我在mysql中使用这个函数报错SQL语句比较长,就不贴出了。
2015-11-18 17:14:26.182 | ERROR | com.alibaba.druid.filter.stat.StatFilter.merg
eSql(StatFilter.java:147) | merge sql error, dbType mysql, sql :
.........................
LEFT JOIN (SELECT orderNo,truncate(SUM(backCash),2) backcash FROM t_biz_backorder GROUP BY orderNo) bo ON tbo.orderNo = bo.orderNo
....................................
com.alibaba.druid.sql.parser.ParserException: ERROR. token : TRUNCATE, pos : 68
9
at com.alibaba.druid.sql.parser.SQLExprParser.primary(SQLExprParser.java
:567)
at com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser.primary(My
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我也是这个问题
你可以先删除数据delete 之后再删除整张临时表就好了 有的服务器不支持这样的写法的 关键字识别不出来
这条SQL语句我直接执行是可以的。
回复
要是服务器测试没问题,那就用原生的执行,还不行就想想其他办法
可以测试下服务器支持truncate函数不?
TRUNCATE(X,D)
这个函数的返回
X截断到D的小数位数的
值。如果D是0,则在小数点被除去。如果D为负,那么D的值的整数部分的值将被截断。
字段名时数字?
自己在服务器上运行打印出来的sql语句