当colunm为null时,如何使用case语句 [英] How to use case statement when colunm is null
问题描述
声明@Flag Varchar(50)= null
SELECT [uniquiID],
CountryFlag,
EventImage
,CONVERT(varchar(50),[StartDate],106)作为StartDate
,CONVERT(varchar(50),[EndDate],106)作为EndDate
,[EventName],[Description],[CountryCode],URL,
- N.Flag = 1时的情况,然后是N.Flag = 0时的N.Remark那么N.Remark结束为''备注''
备注,
N.Flag = 1时的情况然后当N.Flag = 0然后'拒绝'时'已批准'当N.Flag =''然后'等待'其他'前进'END作为状态,
标志
来自TradefairData N
其中1 = 1
我尝试过:
以上是我的代码当我执行时Null Value没有得到并且没有显示Pending在哪里获得Null值所以请帮助我如何使用
IS NULL
,不是吗?例如,请参阅 sql server - 如何使用标量函数检查CASE语句中的NULL? - 堆栈溢出 [ ^ ]。
Quote:未显示Pending where Null Value
如果我理解正确,您希望WHERE子句包含N.Flag也为NULL的情况。
这很简单,你只需要COALESCE吧。
when COALESCE (N.Flag,' ')= ' ' 然后 ' 待定'
这意味着如果N.Flag为null或空白。
(CASE WHEN(CONVERT(VARCHAR,columnname)为null或CONVERT(VARCHAR,columnname) = 0)那么'
Declare @Flag Varchar(50)=null
SELECT [uniquiID],
CountryFlag,
EventImage
,CONVERT(varchar(50), [StartDate],106) as StartDate
,CONVERT(varchar(50), [EndDate],106) as EndDate
,[EventName],[Description],[CountryCode],URL,
-- Case When N.Flag=1 then N.Remark when N.Flag=0 then N.Remark End as ''Remarks''
Remark,
Case when N.Flag=1 then 'Approved' when N.Flag=0 then 'Disapproved' when N.Flag= '' then 'Pending' else 'Forward' END as Status,
Flag
FROM TradefairData N
where 1=1
What I have tried:
above is my code when i Execute then Null Value not get and not showing Pending where Get Null Value so Please Help Me How to Use
You should use IS NULL
, shouldn't you? See, for instance sql server - How to check for NULL in a CASE statement with a Scalar Function? - Stack Overflow[^].
Quote:not showing Pending where Get Null Value
If I understand you correctly, you want your WHERE clause to include cases where N.Flag is also NULL.
This is very easy, you just need to COALESCE it.
when COALESCE(N.Flag, '') = '' then 'Pending'
This means if N.Flag is either null or blank.
(CASE WHEN (CONVERT(VARCHAR,columnname) is null or CONVERT(VARCHAR,columnname) = 0 ) THEN ''
这篇关于当colunm为null时,如何使用case语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!