是否可以通过其他任何方式查找包含指定文本的列值。
我知道他们的方式就像,
SELECT COLUMN_NAME FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%sample_text%'
我试过
SELECT COLUMN_NAME FROM TABLE_NAME
WHERE CONTAINS(COLUMN_NAME,'sample_text')
但也要求表格为全文索引
答案 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
相同。你必须检查性能。