2017-04-26 136 views
0

您可以結合CASE和REPLACE語句嗎?結合替換和case語句

我有這樣的說法,顯示NULL作爲空白:

CASE 
    WHEN f.descriptionofwork IS NULL 
    THEN 
     '' 
    ELSE 
     f.descriptionofwork 
END as 'Description' 

但我還需要刪除換行符/回報的數據,並通常會使用以下語句:

Replace(Replace(f.descriptionofwork,CHAR(10),''),CHAR(13),'') as 'Description' 

會如何我把這兩個結合起來?

回答

0

COALESCE()CASE更簡潔:

SELECT COALESCE(Replace(Replace(f.descriptionofwork, CHAR(10), '' 
           ), CHAR(13), '' 
         ), '') as Description 

你不應該把列別名在單引號。爲避免代碼中出現問題,請僅爲字符串和日期常量使用單引號。

1

試試這個:

CASE 
    WHEN f.descriptionofwork IS NULL THEN '' 
    ELSE Replace(Replace(f.descriptionofwork,CHAR(10),''),CHAR(13),'') 
END as 'Description'