他们是否有任何其他方式来查找具有指定文本的列值。
我知道他们是一种方式,
SELECT COLUMN_NAME FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%sample_text%'
我试过了
SELECT COLUMN_NAME FROM TABLE_NAME
WHERE CONTAINS(COLUMN_NAME,'sample_text')
也可以,但它需要对表进行全文索引
他们是否有任何其他方式来查找具有指定文本的列值。
我知道他们是一种方式,
SELECT COLUMN_NAME FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%sample_text%'
我试过了
SELECT COLUMN_NAME FROM TABLE_NAME
WHERE CONTAINS(COLUMN_NAME,'sample_text')
也可以,但它需要对表进行全文索引
您可以使用 PATINDEX():
SELECT COLUMN_NAME FROM TABLE_NAME
WHERE PATINDEX('%sample_text%', COLUMN_NAME) != 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
。您将不得不检查性能。