日期格式和日期数据

时间:2019-05-07 16:24:52

标签: sql oracle

我试图转换日期格式,因此,我可以提取所需年份的值。请帮助

我已经尝试过了。约会的日期是时间戳。现在代码成功了,日期格式为dd-mon-rr,但是,我无法使用EXTRACT函数获取所需年份的值。

MM.NEEDDATE

TO_CHAR((SELECT MM.NEEDDATE FROM DUAL ), 'DD-MON-RR') AS MATERIALNEEDDATE 

我试图以此来获取> 2018年的价值

(EXTRACT(YEAR FROM TO_DATE(MM.NEEDDATE, 'DD-MON-RR'))> 2018)

但是我收到类似

的错误
  

ORA-01830:日期格式图片在转换整个输入字符串之前结束   01830。00000-“日期格式图片在转换整个输入字符串之前结束”   *原因:
  *动作:

成功转换日期格式实际格式为时间戳

TO_CHAR((SELECT MM.NEEDDATE FROM DUAL ), 'DD-MON-RR') AS MATERIALNEEDDATE

无法提取> 2018年的日期 尝试过-

(EXTRACT(YEAR FROM TO_DATE(MM.NEEDDATE, 'DD-MON-RR'))> 2018)
  

错误   ORA-01830:日期格式图片在转换整个输入字符串之前结束   01830。00000-“日期格式图片在转换整个输入字符串之前结束”   *原因:
  *动作:

“需要日期”列具有多年的日期值,我希望仅> 2018年的值。

我可以不格式化日期吗?怎么办?

1 个答案:

答案 0 :(得分:1)

我认为您不需要to_date(),因为您在列上使用了TO_CHAR()(从字符串到字符串的转换通常不是函数的用法)。

您尝试过吗?

EXTRACT(YEAR FROM MM.NEEDDATE) > 2018

或更简单地说:

MM.NEEDDATE >= DATE '2019-01-01'