在SQL Server中连接IIF / CASE语句

时间:2017-07-26 08:15:40

标签: sql-server

我想在SQL Server中连接IIF语句的结果,如下例所示:

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

我已经尝试在IIF语句之间使用+号,但它并没有真正起作用。但结果应该是“也许不是”。如果Column1,2,3填写为' Yes','可能'和' No'分别。

2 个答案:

答案 0 :(得分:2)

我认为这就是你想要的

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

答案 1 :(得分:0)

谢谢TriV, 但我想我在等待回复时找到了答案:

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