我刚才是这样的:
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);
错在哪儿了?

解决方案 »

  1.   

    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);--你试试这样改
      

  2.   

    你的year,month变量如果不是字符串型的,就会有问题,需要转换成字符串
      

  3.   

    select id
    from table1
    where to_char(gooddate,"yyyy")=year
    在sql*plus中执行出什么错误?
      

  4.   

    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+"'";