我使用sql来检索两个日期。我用CONVERT(VARCHAR(10),date,110)格式化了第一个日期。这会将输出更改为12-08-2013(例如)。
现在,我希望第二个日期的格式化方式与UNLESS它= = NULL相同,在这种情况下它应该是00-00-0000。
SELECT CONVERT(VARCHAR(10), date_opened, 110) AS opened,
--IF date_closed = 'NULL' return '00-00-0000' AS closed
--ELSE return CONVERT(VARCHAR(10), date_closed, 110) AS closed,
有没有办法将此特定格式应用于输出?我无法修改底层数据库。
答案 0 :(得分:2)
SELECT ISNULL(CONVERT(VARCHAR(10), date_closed, 110), '00-00-0000') AS [closed]
OR
SELECT COALESCE(CONVERT(VARCHAR(10), date_closed, 110), '00-00-0000') AS [closed]
答案 1 :(得分:0)
如下:
CASE WHEN date_closed IS NULL THEN '00-00-0000'
ELSE CONVERT(VARCHAR(10), date_Closed, 110) END AS closed