在字符串中查找子字符串

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%"