我试图转换日期格式,因此,我可以提取所需年份的值。请帮助
我已经尝试过了。约会的日期是时间戳。现在代码成功了,日期格式为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年的值。
我可以不格式化日期吗?怎么办?
答案 0 :(得分:1)
我认为您不需要to_date()
,因为您在列上使用了TO_CHAR()
(从字符串到字符串的转换通常不是函数的用法)。
您尝试过吗?
EXTRACT(YEAR FROM MM.NEEDDATE) > 2018
或更简单地说:
MM.NEEDDATE >= DATE '2019-01-01'