ORA-00936 缺失表达式

错误原因
情况之一,关键字使用不规范,写多或者少写了就会报错。
报错可能会在别的地方标红,而不在错误的SQL位置报红,所以要细心检查,注意书写格式排版。

笔者编写存储过程时,多写了一个between,简单记录一下,如下

select 
sum(case when 
	((table.salary=0) or (table.age=0)) and (table.birthday between between data_1 and date_2 )then 1 else 0 end
) count

以上,报错红色标记的是 table.salary = 0 ,以为是salary有null,但是并不是。
是因为后面多了between导致sql出错。

知错就改。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐