2017-07-26 97 views
1

我想來連接SQL Server中的IIF語句是像下面的示例中的結果:串聯IIF/CASE語句

SELECT 
IIF(Column1 = 'Yes', 'Yup', 
IIF(Column2 = 'Maybe', 'Perhaps' 
IIF(Column3 = 'No', 'Nope', 'Else'))) 
FROM TABLE 

我使用IIF之間的+號已經嘗試過聲明,但它並沒有真正起作用。但如果第1,2,3列分別填寫'是','可能'和'不',結果應該是'Yup Maybe Nope'。

回答

2

我想這是你想要的

SELECT 
    LTRIM(RTRIM(CONCAT(
        IIF(Column1 = 'Yes', 'Yup', ' '), 
        IIF(Column2 = 'Maybe', 'Perhaps',' '), 
        IIF(Column3 = 'No', 'Nope', ' ') 
     ))) 
FROM TABLE 
+0

它的工作,雖然我尋找不同的答案。但是,謝謝 – LITMAN

0

感謝TRIV, 但我想我找到了答案,在我等待的迴應:

SELECT 
IIF((Column1 = 'Yes'), 'Yup',NULL)+ 
IIF((Column2 = 'Maybe'), 'Perhaps',NULL)+ 
IIF((Column3 = 'No'), 'Nope', 'Else') 
FROM TABLE 
+2

將NULL更改爲'',否則它將針對任何FALSE值計算爲NULL。 – cloudsafe

+0

爲什麼這是一個雲安全問題? – LITMAN

+2

如果您的任何IIF語句返回NULL,則結果將返回null。所以最好使用''作爲@cloudsafe的字符串操作。 –