我必须执行一个声明(我需要和关键字以及何时)。
select
'Is Allowed'= case A.Column
when
A.Column='XXXX' and Isnull(A.AnotherColumn,'')<>'' then 'Yes'
else
'No' end from TableName
我收到语法错误,如何在不影响条件的情况下重写它。
答案 0 :(得分:6)
尝试:
select case when A.Column='XXXX' and Isnull(A.AnotherColumn,'')<>'' then 'Yes'
else 'No' end as 'Is Allowed'
from TableName
答案 1 :(得分:0)
SELECT
CASE A.Column
WHEN 'Is Allowed THEN 'First'
WHEN 2 THEN 'Second'
WHEN 3 THEN 'Third'
ELSE 'Other'
END
制作CASE的一般方法(这是你的问题)。但是,您的查询/逻辑看起来有点复杂。可以使用更详细的答案/查询,但可能会使用更多语句/嵌套CASE。
答案 2 :(得分:0)
SELECT CASE
WHEN some boolean expression
THEN value
ELSE default value
END
或
SELECT CASE value to check
WHEN vlue to check agains
THEN value
ELSE default value
END