Dof*_*ofs 59 t-sql sql-server string
在T-SQL中,如何检查字符串是否包含另一个字符串?
我有一个nvarchar可能是"橘子苹果".
我想做一个更新,例如,columm 不包含"Apples".
如何才能做到这一点?
Dan*_*ite 87
WHERE NOT (someColumn LIKE '%Apples%')
Run Code Online (Sandbox Code Playgroud)
mar*_*c_s 25
或者,您可以使用此:
WHERE CHARINDEX(N'Apples', someColumn) = 0
Run Code Online (Sandbox Code Playgroud)
不确定哪一个表现更好 - 你要测试它!:-)
渣
更新:性能似乎与其他解决方案非常相似(WHERE someColumn不喜欢'%Apples%') - 所以这只是个人偏好的问题.
你得到的答案假定静态文本进行比较.如果要与另一列进行比较(例如,您要连接两个表,并且想要找到一个表中的列是另一个表中列的一部分的那些表),则可以执行此操作
WHERE NOT (someColumn LIKE '%' || someOtherColumn || '%')
Run Code Online (Sandbox Code Playgroud)