在字符串中查找子字符串
Find substring in string
是否可以检查 SQL 服务器列中的特定子字符串是否包含在用户提供的字符串中?
示例:
SELECT * FROM Table WHERE 'random words to check, which are in a string' CONTAINS Column
据我了解,CONTAINS 无法进行此类搜索。
编辑:
我有一个完全索引的文本,我想搜索(通过最快的方法)我提供的字符串是否包含列中出现的单词。
只需在您要查找的字符串周围使用 LIKE
语法和 %
:
SELECT
*
FROM
table
WHERE
Column LIKE '%some random string%'
这将 return table table
中列 Column
包含文本 "some random string".
的所有行
您可以使用 LIKE
:
SELECT * FROM YourTable t
WHERE 'random words ....' LIKE '%' + t.column + '%'
或
SELECT * FROM YourTable t
WHERE t.column LIKE '%random words ....%'
取决于您的意思,第一个 select 列包含所提供字符串的一部分的记录。第二个正好相反
1) 如果你想获取以某个字母开头的数据,你可以在你的 where 子句中使用 % this operator like this
WHERE
Column LIKE "%some random string"
2) 如果你想获取包含任何字母的数据你可以使用
WHERE
Column LIKE "%some random string%"
3)如果你想获取以某个字母结尾的数据,你可以使用
WHERE
Column LIKE "some random string%"
是否可以检查 SQL 服务器列中的特定子字符串是否包含在用户提供的字符串中?
示例:
SELECT * FROM Table WHERE 'random words to check, which are in a string' CONTAINS Column
据我了解,CONTAINS 无法进行此类搜索。
编辑:
我有一个完全索引的文本,我想搜索(通过最快的方法)我提供的字符串是否包含列中出现的单词。
只需在您要查找的字符串周围使用 LIKE
语法和 %
:
SELECT
*
FROM
table
WHERE
Column LIKE '%some random string%'
这将 return table table
中列 Column
包含文本 "some random string".
您可以使用 LIKE
:
SELECT * FROM YourTable t
WHERE 'random words ....' LIKE '%' + t.column + '%'
或
SELECT * FROM YourTable t
WHERE t.column LIKE '%random words ....%'
取决于您的意思,第一个 select 列包含所提供字符串的一部分的记录。第二个正好相反
1) 如果你想获取以某个字母开头的数据,你可以在你的 where 子句中使用 % this operator like this
WHERE
Column LIKE "%some random string"
2) 如果你想获取包含任何字母的数据你可以使用
WHERE
Column LIKE "%some random string%"
3)如果你想获取以某个字母结尾的数据,你可以使用
WHERE
Column LIKE "some random string%"