【发布时间】:2016-10-15 08:09:50
【问题描述】:
我有一个关于 Oracle SQL 案例语句的问题。
在 where 条件下,我想应用以下条件。 如果salary_date 为null,则 Effective_date 应大于2016 年1 月1 日
我试过了
case when salary_date is null then
trunc(effective_date) >= '01-JAN-2016' else
null end
但是上面的结果是
ORA-00933:SQL 命令未正确结束
我该如何解决这个问题?
【问题讨论】:
-
无关,但是:做 NOT 依赖邪恶的隐式数据类型转换。
'01-JAN-2016'是一个字符串值,不是DATE。使用适当的日期文字,例如DATE '2016-01-01'或to_date('2016-01-01', 'yyyy-mm-dd')