我编写了以下简单的选择查询来获取数据,这大于特定的给定日期。
select *
from XVIIX.emp_tasks
where TASK_START_DATE > to_Date('30-MAR-18','DD-MM-YYYY');
但结果不是预期的结果。
有人可以解释一下这种行为的根本原因是什么?
答案 0 :(得分:3)
to_Date('30-MAR-18','DD-MM-YYYY');
月份表示为3个字符的月份,但月份的格式模型为MM
,期望月份编号,MON
表示缩写的月份名称。
YYYY
预计会有4位数年份,您提供了2位数,或者提供4位,或者将格式模型更改为YY
答案 1 :(得分:2)
我认为问题是将两位数年份转换为四位数年份。最好使用明确的日期文字:
where task_start_date > date '2018-03-30'