Vai*_*ain 2 t-sql sql-server case
我在用:
SELECT
CASE SR.[ContainerId] WHEN SR.[ContainerId] IS NULL
THEN 0
ELSE 1
END AS [IsSampleReceived]
FROM SomeTable SR where SomeCondition
Run Code Online (Sandbox Code Playgroud)
它没有给我想要的结果.IsSampleReceived永远1.我不知道为什么,也许有些事情是错的WHEN SR.[ContainerId] IS NULL.
有两种使用格式,CASE您可以将它们混合在一起.
CASE表达式有两种格式:
简单的CASE表达式将表达式与一组简单表达式进行比较以确定结果.
搜索到的CASE表达式计算一组布尔表达式以确定结果.
请参阅http://msdn.microsoft.com/en-us/library/ms181765.aspx
相反,尝试:
select case
when SR.[ContainerId] is null
then 0
else 1
end as [IsSampleReceived]
from SomeTable SR
where SomeCondition
Run Code Online (Sandbox Code Playgroud)