您好我正在寻找一个类似于CONTAINS函数的函数,但是它不需要对该字段进行全文索引。基本上我有一个字段,其中包含一些由ABC DEF GHI
之类的空格分隔的代码。我想运行一个查询,看看DEF
是否在该字段中。我该怎么做呢?
答案 0 :(得分:6)
听起来你可能想要LIKE
运营商。查询看起来像这样:
SELECT * FROM someTable WHERE someField LIKE '%DEF%'
答案 1 :(得分:2)
WHERE YourField like '% DEF %'
OR YourField LIKE '% DEF'
OR yourField like 'DEF %'
OR YourField = 'DEF'
涵盖它在中间被空格包围的情况,或者在结尾/开始 - 并且语句的最后边缘情况只是没有空格的值。如果您的值为'ADEFB',则故意使用/确保空格,例如:一个代码在另一个内部。
表现不会很好。
答案 2 :(得分:2)
看看CHARINDEX。请注意,我在搜索列的开头和结尾添加了一个空格,以说明搜索字符串在列表中的第一个或最后一个的情况。
SELECT *
FROM YourTable
WHERE CHARINDEX(' DEF ', ' ' + YourColumn + ' ') <> 0;