2014-05-16 122 views
-1

我正在使用sql來檢索兩個日期。我用CONVERT(VARCHAR(10),date,110)格式化了第一個日期。這將輸出更改爲12-08-2013(例如)。SQL輸出修改:NULL到字符串

現在,我希望第二個日期格式化爲相同的方式,除非它= 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

這是甲骨文?或另一個數據庫 - 有一些答案,但可能是特定於RDBMS的 – Randy

回答

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] 
0

如何像:

CASE WHEN date_closed IS NULL THEN '00-00-0000' 
    ELSE CONVERT(VARCHAR(10), date_Closed, 110) END AS closed