目前是for(int i = 0;i < vecRecvId.size();i++)
{
sprintf(tmp,"log_to like '%%%lu%%'",vecRecvId[i]);
strRecv +=tmp;
if(i == vecId.size()-1)
     break;
strRecv +=" or ";
}log_to 字段进行多种模糊匹配
这样的话,如果vecRecvId 数据很多的话,sql将会很长,可能就会查找失败
想问下怎么用尽可能短的sql来实现呢?备注:我用的是sqlite3 数据库,

解决方案 »

  1.   

    你是想。。
    sql语句拼接成  
    log_to like '%a%' or  log_to like '%b%' or log_to like '%c%'
    or  log_to like '%d%'  ....
    为什么要这样子的sql语句呢?
      

  2.   

    我只是想log_to 字段进行多种模糊匹配,不知怎么写而已,
    想请教下,
      

  3.   

    我只是想log_to 字段进行多种模糊匹配,不知怎么写而已,
    想请教下,
      

  4.   

    我只是想log_to 字段进行多种模糊匹配,不知怎么写而已,
    想请教下,
      

  5.   

    有其他的sql语法的来实现吗
    因为我用的是sqlite3 不一定支持
      

  6.   

    MYSQL中可以用 regexp
    但 sqlite 中没有办法。