SQL输出修改:NULL到String

时间:2014-05-16 15:29:29

标签: sql-server date

我使用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,   

有没有办法将此特定格式应用于输出?我无法修改底层数据库。

2 个答案:

答案 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