我必须执行一个语句(我需要和关键字一起)。SQL SERVER CASE语句澄清
select
'Is Allowed'= case A.Column
when
A.Column='XXXX' and Isnull(A.AnotherColumn,'')<>'' then 'Yes'
else
'No' end from TableName
我得到语法错误,如何重写它而不影响条件。
我必须执行一个语句(我需要和关键字一起)。SQL SERVER CASE语句澄清
select
'Is Allowed'= case A.Column
when
A.Column='XXXX' and Isnull(A.AnotherColumn,'')<>'' then 'Yes'
else
'No' end from TableName
我得到语法错误,如何重写它而不影响条件。
SELECT
CASE A.Column
WHEN 'Is Allowed THEN 'First'
WHEN 2 THEN 'Second'
WHEN 3 THEN 'Third'
ELSE 'Other'
END
是制作CASE的一般方法(这是您的问题)。但是,您的查询/逻辑看起来有点复杂。更详细的答案/查询是可能的,但可能会使用更多的语句/嵌套CASE。
尝试:
select case when A.Column='XXXX' and Isnull(A.AnotherColumn,'')<>'' then 'Yes'
else 'No' end as 'Is Allowed'
from TableName
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
好所著的Grokking仔细一看,我想。 +1 – Tobiasopdenbrouw 2010-08-19 09:30:16