我正在尝试用一status
列和一DateSent
列查询一个表。在我的查询中,我想将这两列合并为一sent
列 - 如果状态为c
(关闭/发送),则显示DateSent
- 但如果不是,则显示适当的状态。
任何不是sent
的行都将具有DateSent
NULL。
所需的输出如下:
ID Sent
-----------------
1 Queued
2 Failed
3 2013-02-28
4 Queued
我当前的 SQL Server CE 查询:
select
ID, DateAdded,
case when DateSent is null then
(case when Status='W' then 'Waiting' else
case when Status='O' then 'Uploaded' else
case when Status='F' then 'Failed' else
case when Status='E' then 'Expired' else
'Unknown' end end end end) else DateSent
end as Sent
from table
但是第else DateSent
7 行的部分抛出了一个错误:
日期格式存在语法错误。[0, 0, 0,表达式:失败,,]
有人可以帮助我解决这个问题吗?
编辑:一个更容易阅读的问题片段是:
select case when DateSent is null
then 'null' else DateSent --<---- problem is here
end as Sent from table