案例表达存在问题

时间:2019-04-04 02:50:45

标签: sql case

SELECT ENAME,SAL,
    CASE SAL
        WHEN 'SAL<1000' THEN 'LOWER'
        WHEN 'SAL>1000' THEN 'HIGH'
    END
    RESULT FROM EMP;

这给出了一个错误:

  

数据类型不一致:预期的%s得到了%s

我该如何解决查询问题?

2 个答案:

答案 0 :(得分:0)

请尝试这个。

SELECT ENAME,SAL,
    CASE WHEN SAL<1000 THEN 'LOWER'
         WHEN SAL>1000 THEN 'HIGH'
    END AS RESULT
FROM EMP;

答案 1 :(得分:0)

我认为您打算这样做

SELECT ENAME, SAL,
       (CASE WHEN SAL < 1000 THEN 'LOWER'
             WHEN SAL > 1000 THEN 'HIGH'
        END) as RESULT
FROM EMP;

有两个问题:

  • 您在比较中使用单引号。在这种情况下,字符串不合适。
  • 您在SAL之后有CASE,这也是不合适的。