2013-06-24 69 views
34

我有以下幾點:SQL合併與空字符串

 Select Coalesce(Other,Industry) Ind from registration 

的事情是,其他的可以是空字符串或NULL。 如何合併工作,以便如果Other是一個空字符串,Coalesce仍然按照它應該的方式工作?

+2

如何*你*想峯結合應該表現,因爲它似乎比標準以外的東西? – Guffa

回答

76

使用CASE表達或NULLIF

SELECT COALESCE(NULLIF(Other,''),Industry) Ind FROM registration 
13

試試這個

Select Coalesce(nullif(Other,''),Industry) Ind from registration 
3

您也可以使用快捷明知NULL <> ''計算結果不是TRUE ...

CASE WHEN other <> '' THEN other ELSE industry END 

然後邏輯如下計算出來...

  • CASE WHEN 'fubar' <> '' THEN other ELSE industry END
    =>CASE WHEN true THEN other ELSE industry END
    =>other

  • CASE WHEN '' <> '' THEN other ELSE industry END
    =>CASE WHEN false THEN other ELSE industry END
    =>industry

  • CASE WHEN NULL <> '' THEN other ELSE industry END
    =>CASE WHEN NULL THEN other ELSE industry END
    =>industry