比如表TABLE
字段 A1,A2现在要查询字段A1中,是否包含字符串:sss
-------------LIKE 不行吧------------recordset.m_strFilter.Format("A1 LIKE '%%%s%%'")---
这个我用过。不行的
----------------------上面那种仅仅适合要查的内容是对比内容的子集(包含关系)
----------------------------------------我想直接用SQL语句来实现,不想费周折进行一些转换

解决方案 »

  1.   

    SQL 命令如下:
    SELECT * FROM tab WHERE A1 LIKE '%tom%'
    MFC程序
    CString str;
    str.Format("SELECT * FROM tab WHERE A1 LIKE '%%%s%%'","tome");
      

  2.   

    LIKE是可以的,但是你的字段内容是否有大小写
    比如人家是Tom,那你like '%tom%' 那就不行了。
    你最好是
    SELECT *
      FROM tab1
     WHERE lower(field1) like '%tom%'也就是说把字段转为小写字母再比较。同时要DEBUG一下看看你拼出来的SQL是不是正确。
    可以用 AfxMessageBox看一下。
      

  3.   

    强烈建议不要用like,如果数据库太大,容易造成CPU 99%的利用率。
      

  4.   

    Select *From tab where A1 in(%s%)