说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

求救高手!!!!!!

编辑:说三道四文库 发布时间:2018-05-23 09:28
HTML文档下载 WORD文档下载 PDF文档下载
在oracle的sql语句中,我现在想取出一个id,条件是:变量year的值和数据库表中的日期gooddate(年,月,日)的年相等。我这样写:
select id
from table1
where to_char(gooddate,"yyyy")=year
这样写错在什么地方?
我刚才是这样的:
String sqlstring="select gooddate,managername,goodslevel,id,goodsnumber,goodsmoney,materialnumber,buyman,vehicleid from goodsjoin where goodslevel='"+goodslevel1+"' and managername='"+managername+"' and " +"to_char(gooddate,'yyyy')"+"="+year+" and "+"to_char(gooddate,'mm')"+"="+month+"";

rs_sq=stmt_sq.executeQuery(sqlstring);
错在哪儿了?
select id
from table1
where to_char(gooddate,"yyyy")=year--这个语句没有错!

String sqlstring="select gooddate,managername,goodslevel,id,goodsnumber,goodsmoney,materialnumber,buyman,vehicleid from goodsjoin where goodslevel='"+goodslevel1+"' and managername='"+managername+"' and to_char(gooddate,'yyyy')="+year+" and to_char(gooddate,'mm')="+month+"";

rs_sq=stmt_sq.executeQuery(sqlstring);--你试试这样改
你的year,month变量如果不是字符串型的,就会有问题,需要转换成字符串
select id
from table1
where to_char(gooddate,"yyyy")=year
在sql*plus中执行出什么错误?
year和month要加单引号
String sqlstring="select gooddate,managername,goodslevel,id,goodsnumber,goodsmoney,materialnumber,buyman,vehicleid from goodsjoin where goodslevel='"+goodslevel1+"' and managername='"+managername+"' and " +"to_char(gooddate,'yyyy')"+"='"+year+"' and "+"to_char(gooddate,'mm')"+"='"+month+"'";
多谢多谢。问题已经解决了。就是楼上的兄弟的答案。谢谢大家。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘