Oracle10g Oracle 10g:select语句中的大小写(ORA-00936错误)

Oracle10g Oracle 10g:select语句中的大小写(ORA-00936错误),oracle10g,ora-00936,Oracle10g,Ora 00936,我正在Oracle 10g中执行此语句 select CASE Math WHEN BETWEEN 90 AND 100 THEN 'A' WHEN BETWEEN 80 AND 90 THEN 'B' WHEN BETWEEN 0 AND 80 THEN 'C' ELSE 'Invalid score' END from score

我正在Oracle 10g中执行此语句

     select CASE Math WHEN BETWEEN 90 AND 100 THEN 'A'
                      WHEN BETWEEN 80 AND 90  THEN 'B'
                      WHEN BETWEEN 0  AND 80  THEN 'C'
                      ELSE 'Invalid score' END
       from score
但是我得到了以下错误

ORA-00936:缺少表达式


有人能帮我解释一下我遗漏了什么吗?

在SQL语句中,
CASE
语句应该是

SELECT CASE WHEN math BETWEEN 90 AND 100 
            THEN 'A'
            WHEN math BETWEEN 80 AND 90
            THEN 'B'
            WHEN math BETWEEN 0 AND 80
            THEN 'C'
            ELSE 'Invalid Score'
         END
  FROM score

当语法在PL/SQL中有效但在SQL中无效时,
大小写变量。

如果不使用条件,我将执行以下操作:

 select CASE WHEN math BETWEEN 90 AND 100 THEN 'A'
                      WHEN math BETWEEN 80 AND 90  THEN 'B'
                      WHEN math BETWEEN 0  AND 80  THEN 'C'
                      ELSE 'Invalid score' END
       from score

我认为Oracle不喜欢没有前一个变量的BETWEEN函数。

不,正如Justin提到的,它使用了BETWEEN函数。谢谢northpole!是的,看起来贾斯汀和我有相同的解决方案。干杯