2

他们是否有任何其他方式来查找具有指定文本的列值。

我知道他们是一种方式,

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

我试过了

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

也可以,但它需要对表进行全文索引

4

2 回答 2

1

您可以使用 PATINDEX():

SELECT COLUMN_NAME FROM TABLE_NAME
WHERE PATINDEX('%sample_text%', COLUMN_NAME) != 0
于 2013-08-01T09:48:15.007 回答
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。您将不得不检查性能。

于 2013-08-01T09:56:38.040 回答