运行" if else"询问

时间:2016-01-05 14:47:41

标签: sql if-statement case

我运行以下查询:

select field1 f1, field2 f2, case when field3 >1 and field 4 > 0 than field3 else field4 as f34, field5 f5

这个查询dosn`t工作(我在语句附近得到语法错误) 在sql中实现if else的正确方法是什么?

4 个答案:

答案 0 :(得分:0)

试试这个:

select field1 f1, field2 f2, 
   (case when field3 >1 and field 4 > 0 then field3 
    else field4 end) as f34, 
   field5 f5

你有一个拼写错误(than),我也把它格式化为更容易阅读。

答案 1 :(得分:0)

有些拼写错误,而没有用END结束CASE:

select field1 f1, 
       field2 f2, 
       case when field3 >1 and field 4 > 0 then 
           field3 
       else 
           field4 
       end as f34, 
       field5 f5

答案 2 :(得分:0)

缺少FROM,然后缺少END,因为缺少案例:

SELECT field1 f1
    ,field2 f2
    ,CASE 
        WHEN field3 > 1
            AND field4 > 0
            THEN field3
        ELSE field4
        END AS f34
    ,field5 f5
FROM TABLE

答案 3 :(得分:0)

我认为这是一个错字,请尝试

SELECT field1 f1, field2 f2, (case when field3 >1 and field 4 > 0 then field3 else field4) as f34, field5 f5 FROM table