被这个字符坑了一上午。
之前的项目是用mysql+ibatis的,今天有个用oracle的旧项目要改。
所以一开始一直以为是oracle和mysql在ibatis上使用的差异。
但是在navicat上,整个查询统计语句都是正常执行的。
ibatis中的SQL语句(部分)如下:
tomcat启动后,报如下这个错:
看报错,是定位到to_char这个方法,这个是oracle的方法。然后网上搜索了一下,有说是要加别名,原因也有说清楚。
但试了后,没用,反而更错了。。
后来没办法,只好先逐个删除查询结果字段,最后发现,其它to_char函数是没问题的,那么问题就是出在to_char附近了。
又仔细看了下,才发现是这个#是ibatis参数语法使用的字符,且都是要成对出现的,要想作为普通字符使用,应该得用转义。
所以又查了下,ibatis里的转义:
这下总算是可以正常通过ibatis检测,正常启动tomcat了。