日期:2014-05-17  浏览次数:20439 次

sql包含某个字符串的问题!求高手解答
where [列名] like ‘%+内容+%'这个句子一般查询的是内容包含在列名里的;但我现在要实现的功能是我给出一句话,如果这一列中 的字段包含在我给出的话中的话就把这一列数出来,该怎么实现?
比如:
列名  keyword
       尼玛
        你爸
        大四
然后我给出“尼玛你爸”,要求select出尼玛和你爸这两列!
求各位大神不吝赐教,谢谢

------解决方案--------------------
select *
from 表
where '尼玛你爸' like '%'+keyword+'%'

------解决方案--------------------
SQL CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下:

CHARINDEX ( expression1 , expression2 [ , start_location ] )

Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。

——————————————
like用起来简单,但数据量较大时效率低