【发布时间】:2018-12-20 13:38:47
【问题描述】:
我想将这样格式的给定时间戳:2019-04-08 00:00:00.0 转换成这样格式的日期:2019-04-08。
我已经尝试过使用:
SELECT TO_DATE('2019-04-20 00:00:00.0','YYYY-MM-DD') from dual;
但我得到了提示:
ORA-01830: 日期格式图片在转换整个输入之前结束 字符串
【问题讨论】:
-
这个时间戳是一个字符串(文本),还是一个实际的 Oracle 时间戳?
-
Oracle 中有关日期和时间戳的混淆通常来自于没有意识到这些是以内部二进制格式存储的本机数据类型,并且仅在需要用于显示目的时才提供方便的人类可读格式。当开发人员假设
'2019-04-20 00:00:00.0'之类的东西实际上只是一个字符串时,它的乐趣就开始了。要将实际的timestamp转换为实际的date,您只需使用cast,就像 Littlefoot 的回答一样,但我怀疑这不是您在这里面临的情况。 -
在这里查看我的答案:stackoverflow.com/a/51492266/2141278