String sql1="select * from table   where 1=1 and col1 = ?  and substr(col2,2,1)='1' and trim(col3)=? and trim(col4) =?  and col5=? and col6 !='D'";  在java中传给的col3和col4是前后不带空格的数据,数据库这个字段有可能前后带未知数量的空格,难道是where后面不允许trim变量?

解决方案 »

  1.   

    其他地方没问题  之前一直用的 我是加了两个trim 
      

  2.   

    没跟一下么? 把完整的sql1 贴一下.
      

  3.   

    where后面允许trim
    字段全空格,trim后变NULL了?然后
      

  4.   

    用decode函数吧字段全空格的记录先处理一下,不过这数据库设计好像有问题吧
      

  5.   

     and trim(col3)=? and trim(col4) =?  trim位置好像错了吧,应该放在=右边吧