我需要检查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%'
的记录