检查字符串不包含另一个字符串(Check if string doesn't contain

2019-07-31 15:50发布

在T-SQL,你会如何检查是否字符串不包含另一个字符串?

我有一个nvarchar可能是“橘子红苹果”。

我愿做一个更新,其中,例如,一个columm 包含“苹果”。

如何才能做到这一点?

Answer 1:

WHERE NOT (someColumn LIKE '%Apples%')


Answer 2:

,或者也可以使用此:

WHERE CHARINDEX(N'Apples', someColumn) = 0

不知道哪一个效果更好 - 你总得测试一下吧! :-)

UPDATE:性能似乎是与其他解决方案(WHERE someColumn NOT LIKE“%苹果%”)比肩差不多 - 所以它实际上只是一个个人喜好的问题。



Answer 3:

使用此为您的WHERE条件

WHERE CHARINDEX('Apples', column) = 0 


Answer 4:

你有假设的答案静态文本来比较。 如果你想进行比较的另一列(比方说,你要加入两个表,并希望找到那些来自一个表中的列是从其他表列的一部分),你可以这样做

WHERE NOT (someColumn LIKE '%' || someOtherColumn || '%')


文章来源: Check if string doesn't contain another string