是否可以检查用户提供的字符串中是否包含SQL Server列中的特定子字符串?
示例:
SELECT * FROM Table WHERE 'random words to check, which are in a string' CONTAINS Column
据我了解,CONTAINS无法进行此类搜索。
编辑:
我有一个完全索引的文本,并且想要(通过最快的方法)搜索我提供的字符串是否包含列中存在的单词。
答案 0 :(得分:2)
您可以使用LIKE
:
SELECT * FROM YourTable t
WHERE 'random words ....' LIKE '%' + t.column + '%'
或
SELECT * FROM YourTable t
WHERE t.column LIKE '%random words ....%'
取决于你的意思,首先选择列中包含所提供字符串一部分的记录。第二个是相反的。
答案 1 :(得分:1)
只需在您要查找的字符串周围使用LIKE
语法和%
:
SELECT
*
FROM
table
WHERE
Column LIKE '%some random string%'
这将返回表table
中的所有行,其中列Column
包含文本“some random string”。
答案 2 :(得分:0)
1)如果你想从某个字母开始获取数据,你可以在where子句中使用%this运算符
WHERE
Column LIKE "%some random string"
2)如果您想获取包含任何可以使用的字母的数据
WHERE
Column LIKE "%some random string%"
3)如果你想获得以某个字母结尾的数据,你可以使用
WHERE
Column LIKE "some random string%"