Oracle10g Oracle 10g:select语句中的大小写(ORA-00936错误)
我正在Oracle 10g中执行此语句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
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!是的,看起来贾斯汀和我有相同的解决方案。干杯