问题:同一个 sql,放到 plsql 执行没问题,放到项目中用 mybstis 就出不来。 sql: select * from (select xn,qxdm,nj,xk,gxsj,nvl(cbbb,'null')cbbb from jczd_gjjcxy) t pivot( max(t.cbbb) for xk in ( '道德与法制' as cnt1, '语文' as cnt2, '数学' as cnt3, '音乐' as cnt4, '美术' as cnt5, '科学' as cnt6, '英语' as cnt7, '书法' as cnt8, '信息技术' as cnt9 ) ) where 1=1 报错内容: 1.Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, expect RPAREN, actual FOR pos 116, line 2, column 25, token FOR :(上面的 sql ) 2.uncategorized SQLException; SQL state [null]; error code [0]; sql injection violation, syntax error: syntax error, expect RPAREN, actual FOR pos 116, line 2, column 25, token FOR:(上面的 sql ) 3.com.alibaba.druid.sql.parser.ParserException: syntax error, expect RPAREN, actual FOR pos 116, line 2, column 25, token FOR 补充: 1.正常 sql 能在项目用,就这个不能再项目中用,但这个 sql 在 plsql 是完全能执行的。 2.这个 sql 用来行转列。 3.卡在这一天了,救命。 4.帮得上的回复必感谢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.