我在JAVA中写了一条用“like”查询语句,它执行有问题。
select cTableName from Merchandise where cObjcetName = java
select cTableName from Merchandise where cObjcetName like java
第一条语句,执行能查出四条记录,第二条语句就查不出来。而把第二条中的“java”改为“%java%”,也不行。请问,是不是在JAVA中,对SQL的查询有什么别的语法要求?

解决方案 »

  1.   


    select * from Merchandise where cObjcetName like '%java%'
      

  2.   

    没什么语法要求。这是我写的,你参考下select * from asdf where description like '%GS%';楼主记得结贴给分哦。
      

  3.   

    你的cObjcetName在数据库中定义的是什么型的呀,要是字符的就要加上''呀。
      

  4.   

    是字符的啊,不过,加上‘’后,它就报错啦。我在做select cTableName from Merchandise where cObjcetName = java的时候,它就能查出来呀。
      

  5.   

    你在查询分析器中,先看看你写的sql可以用不!
    如果可以的话,应该没有问题!
      

  6.   

    你没用引号啊,'%java%',同时注意like中的关键字大小写敏感,sql是在数据库中执行的,跟java无关
      

  7.   

    字符串需要加加单引号
    我也试过楼主这种情况,在Access的查询器里查不出结果,但在程序里就可以了.你先不要在查询器里查,用程序试试.
      

  8.   

    select cTableName from Merchandise where cObjcetName like '%java%'
      

  9.   

    你的select cTableName from Merchandise where cObjcetName like java这句
    改为select cTableName from Merchandise where cObjcetName like 'java'试试
      

  10.   

    和JAVA语法没有关系,和用的数据库有关.
      

  11.   

    可以用SQL语句操作符LIKE进行模式般配,使用“%”代替一个
    或多个字符,用一个“_”代替一个字符。比如:下述语句查询姓氏是“王”的记录:
    SELECT * FROM students WHERE 姓名 LIKE '王%'
    将select cTableName from Merchandise where cObjcetName like java
    改为select cTableName from Merchandise where cObjcetName like 'java'
        select cTableName from Merchandise where cObjcetName like '%java%'