检查字符串是否包含其他字符串

时间:2009-08-07 18:42:00

标签: sql-server tsql string

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

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

我想进行更新,例如,columm 包含“Apples”。

如何做到这一点?

4 个答案:

答案 0 :(得分:81)

WHERE NOT (someColumn LIKE '%Apples%')

答案 1 :(得分:24)

或者,你可以使用它:

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

不确定哪一个表现更好 - 你要测试它! : - )

马克

更新:性能似乎与其他解决方案非常相似(WHERE someColumn NOT LIKE'%Apples%') - 所以这只是个人偏好的问题。

答案 2 :(得分:10)

将此用作WHERE条件

WHERE CHARINDEX('Apples', column) = 0 

答案 3 :(得分:7)

你得到的答案假设静态文本要比较。如果要与另一列进行比较(例如,您要连接两个表,并希望找到一个表中的列是另一个表中列的一部分的那些表),则可以执行此操作

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