在SELECT中使用IF而不引用任何列

时间:2014-09-26 10:55:25

标签: sql sql-server conditional

我试图关注this answer(与我所拥有的不同的问题)。但是,我收到的错误告诉我 IF 附近的语法不正确。

select if(1 < 2, 3, 4) as Reply 
from Unit

以上是我使用的确切语法(当然,表单位存在但与值无关。有时我希望能够操作一些列以便在我玩游戏时获得更好的可见性SQL Studio。

请注意,我询问如何合并以及如何处理空值。如果它看起来像我,那么你或者你误解了这个问题,或者我对我的解释没有清楚。对此提前抱歉。

2 个答案:

答案 0 :(得分:2)

您正在寻找案例条款:

select 
  case when 1 < 2 
    then 3 
    else 4 end as Reply 
from Unit

或者,如果您只希望看到一次结果(而不是表格中的每一行):

select
  case when 1 < 2 then 3 else 4 end as Reply

答案 1 :(得分:1)

我相信这是您正在寻找的语法,它适用于sqlserver 2012:

SELECT IIF( 1 < 2, 3, 4)

语法为:

IIF ( boolean_expression, true_value, false_value )