Oracle SQL查询的获取值大于日期语句

时间:2018-03-21 11:45:08

标签: sql oracle

我编写了以下简单的选择查询来获取数据,这大于特定的给定日期。

select *
from   XVIIX.emp_tasks
where  TASK_START_DATE > to_Date('30-MAR-18','DD-MM-YYYY');

但结果不是预期的结果。

enter image description here

有人可以解释一下这种行为的根本原因是什么?

2 个答案:

答案 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'