在选择中出现字符串时的标志



我需要检查select中是否有特定的字符序列,如果有,通过设置一个变量来指出这种情况。

这是我尝试过的:

SELECT 
@FLAG = CASE 
WHEN '%ABC%' IN (SELECT [COLUMN] 
FROM [TABLE] 
WHERE [CONDITION]) 
THEN 1 
ELSE 0

但它不起作用,因为@FLAG的结果总是"0">

(SELECT的输出是一个行列表)

您应该更改您的标准以使用EXISTS,如

SELECT 
@FLAG = CASE 
WHEN EXISTS (SELECT [COLUMN] 
FROM [TABLE] 
WHERE [CONDITION] AND [COLUMN] LIKE '%ABC%') 
THEN 1 
ELSE 0

除非你有兴趣找到[COLUMN]正好是'%ABC%'的记录

相关内容

最新更新