[英]Return NULL in case expression : SQL server 2008
I have following case statement for check result set, 对于检查结果集,我有以下案例说明:
SELECT
CASE
WHEN EXISTS(
select CE_Issuedate from t_Certificate
where CE_CertID_pk = (select IT_certID_fk_ind from t_item
where IT_rfileID_fk = '1482'
group by IT_rfileID_fk)
)
THEN (select CE_Issuedate from t_Certificate
where CE_CertID_pk = (select IT_certID_fk_ind from t_item
where IT_rfileID_fk = '1482'
group by IT_rfileID_fk))
ELSE NULL
END AS 'CE_Issuedate';
I want to return NULL when no result in this select statement. 当此选择语句中无结果时,我想返回NULL。 I tried like this but I'm not sure this is correct.
我尝试过这样,但是我不确定这是正确的。 This query is working, but I think return string value when no result.
该查询有效,但我认为没有结果时返回字符串值。
Following script return like this: 以下脚本返回如下:
but i think actually it's want to be like this, 但我认为实际上是想要这样,
please help me. 请帮我。 is this right ?
这是正确的吗 ?
select max(CE_Issuedate)
from t_Certificate
where EXISTS (select * from t_item
where IT_rfileID_fk = '1482'
and CE_CertID_pk = IT_rfileID_fk)
If no row is found, MAX returns NULL. 如果找不到行,则MAX返回NULL。 Otherwise that CE_Issuedate is returned.
否则,返回CE_Issuedate。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.