没接触过JAVA,最近公司的一个JAVA程序需要修改,在文件中有一段代码
select f1,f2,f3,f4 from atable
我在此基础上添加了一个where条件,where f2 = '1969' 这样一来就查询不出数据来了,但如果我用like查询就能查询出数据来,感到很郁闷,请高手帮忙看一下,谢谢了!

解决方案 »

  1.   

    楼上二位老大,没什么代码啊,我就是在原有的查询语句上加了一个where条件,很简单的,就是用普通查询查不出来数据,而用LIKE就能查询出来,我也没接触过JAVA,大家帮我分析分析原因吧原代码:select f1,f2,f3,f4 from atable 我改为:select f1,f2,f3,f4 from atable where f2 = '1969' //不好用
            select f1,f2,f3,f4 from atable where f2 = 1969 //不好用
           
            select f1,f2,f3,f4 from atable where f2 like'%1969%'//好用实在搞不清楚原因。
      

  2.   

    这个明显是sql问题
     like'%1969%'能查到说明前后可能有字符,比如空格或回车符等
      

  3.   

    select f1,f2,f3,f4 from atable where f2 = '1969' //也许没有这样的结果。
    %代表0个或者多个字符。
      

  4.   

    严重支持4楼的同志,这个问题和java无关
      

  5.   

    这个明显是sql问题 
    like'%1969%'能查到说明前后可能有字符,比如空格或回车符等
      

  6.   

    = '1969' 是精确的匹配1969     
    like '%1969%'是指f2里只有含有‘1969’就查询出来你想要实现什么功能就怎么写sql啊