sql查询以查找具有特定文本的列值

时间:2013-08-01 09:19:33

标签: sql sql-server

是否可以通过其他任何方式查找包含指定文本的列值。

我知道他们的方式就像,

SELECT COLUMN_NAME FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%sample_text%'

我试过

SELECT COLUMN_NAME FROM TABLE_NAME
WHERE CONTAINS(COLUMN_NAME,'sample_text')

但也要求表格为全文索引

2 个答案:

答案 0 :(得分:1)

您可以使用PATINDEX():

SELECT COLUMN_NAME FROM TABLE_NAME
WHERE PATINDEX('%sample_text%', COLUMN_NAME) != 0

答案 1 :(得分:0)

查询1

select 1 where patindex('%find_string%','find_stringfdasfsa')> 0

查询2

select 1 
where  len(REPLACE('find_stringfdasfsa','find_string',''))<LEN('find_stringfdasfsa')

查询3

select 1 
where CHARINDEX('find_string','find_stringfdasfsa') > 0

执行计划与Like相同。你必须检查性能。