select * from news where news_name LIKE '%text%'我一般些模糊查询时这样写!
数据表
news_name字段
dsssdstextdddd
dsssdstextddddsdsd
dsssdstextddddsddazx
dsssdstextddddvfttt
dsssdstextddddgfffg
dsssdstextddddbvvbbv但是这样写的的查询很不爽,比如我搜索text的时候可以搜索到,但搜索text2的时候就搜索不到了,请问各位大侠,有什么好解决的办法没?请问是不是要拆分搜索条件去搜索啊?例如(text2拆分成text和2)

解决方案 »

  1.   

    是不是csdn上午突然打不开了啊???
    有没有帮下忙啊
      

  2.   

    LZ问题都不清楚,搜索包含text的和text2的能一样嘛?
      

  3.   

    我的意思是搜索text2,包含text的字段也可以显示出来
      

  4.   

    你搜text2想要把text也搜出来??强大哦!!
    我想如果要达到这种效果,就目前来说只能是将text2拆成text和2,
    也即:
    select * from news where news_name LIKE '%text%' or '%2%'
      

  5.   

    你的意思是不是。你LIKE '%text2%' 的时候 由于你数据库里没有 包含text2 只有 包含text 的  想吧text也取出来对吗?
      

  6.   

    是的!
    但是text2是变化的,随便是什么的时候都可以
      

  7.   

    LIKE 没有你说的那个功能。。如果你真的要分开搜索。你想过速度问题吗?
      

  8.   

    拆开了,排列组合,比方说:
    test2 拆成string[] Str={"t","e","s","t","2"}
    然后11 组合
    22组合
    33组合
    44组合
    55组合接着你在循环批量执行sql语句,这样就可以把所有查询结果都显示出来,貌似很复杂....
      

  9.   

    这样的问题真的挺麻烦的,我就知道如果搜索text2包含text可以,LZ是又要搜索包含text的,条件又不要text,非得用text2...不明白了...text2是包含text,但是数据又不包含text2的...
      

  10.   

    是啊!所以就跑到CSDN上来找高手了啊!拆分是不可能的咯
      

  11.   

    让用户输入查询关键词的时候用空格分开  比如 test  2
    news_name LIKE '%text%' or news_name LIKE  '%2%'感觉这也不是好的解决方案
      

  12.   

    如果你设置好全文检索的话   
    select * from news where freetext(news_name,'我的爱')--这句0。0!就是你想要的