当前位置:编程学习 > JAVA >>

sql代码引发的问题

写了一段sql,但一直报缺失 右括号.请朋友们帮我看看,谢谢了
sql="select q.* from (select rowNum n,t.* from (" +
"select * from book_lend c where " +
" c.bookName like'%"+query+"%' " +
" or c.author like'%"+query+"%' " +
"or c.press like'%"+query+"%' or to_char(c.appearYear,'yyyy-mm-dd') like '%"+query+"%' ) t " 
+currentYear+"' order by auto_id ) q "
        +"where q.n>" + Snt + " and q.n<=" + Cnt; --------------------编程问答-------------------- 需求再明确一下撒,是哪里报错?执行sql时报错,还是编辑器提示报错,我表示没看懂 --------------------编程问答-------------------- 多拆分成几行,尤其有括弧的地方。 --------------------编程问答-------------------- 看看是不是这里多了引号:
"' order by auto_id
--------------------编程问答-------------------- 是编辑器里报错,朋友,谢谢了 --------------------编程问答--------------------
String sql = "select q.* from (select rowNum n,t.* from ("
+ "select * from book_lend c where "
+ " c.bookName like '%"+ query + "%'" 
+ " or c.author like '%" + query + "%'"
+ " or c.press like '%" + query+ "%'"
+ " or to_char(c.appearYear,'yyyy-mm-dd') like '%" + query+ "%' ) t " + currentYear + "' order by auto_id ) q"
+ " where q.n>" + Snt + " and q.n<=" + Cnt;
--------------------编程问答--------------------  这就是细心的问题!!!
--------------------编程问答-------------------- 以后提问是自己粗心造成的,自动扣自己10分 --------------------编程问答--------------------
引用 2 楼 liangtu33 的回复:
多拆分成几行,尤其有括弧的地方。

这里少了半边单引号 --------------------编程问答--------------------

select q.* from (select rowNum n,t.* from ( select * from book_lend c where 
c.bookName like '% query %'   or c.author like'% query %' or c.press like
'%query%' or to_char(c.appearYear,'yyyy-mm-dd') like '%query%' ) t 
currentYear' order by auto_id ) q where q.n> Snt  and q.n<= Cnt;


你替换一下少了什么?明显少了括号 --------------------编程问答-------------------- 括弧去哪里了?兄弟? --------------------编程问答-------------------- OR 条件不要用括号的? 那作用能一样? --------------------编程问答-------------------- jf//... --------------------编程问答-------------------- 语句长了要加别名  在你提示确实右括号的右边加别名 --------------------编程问答-------------------- 好像是 右括号后面的那个 别名应该与你的那个右括号有空格 --------------------编程问答-------------------- 这种问题 楼主一句sysout就可以解决了。。 --------------------编程问答-------------------- 好玩。嘿嘿。 --------------------编程问答-------------------- 再有此类问题,拿到运行时的sql语句,运行一下就知道原因咯
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,