微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle SQL“DATETIME字段中的SELECT DATE”

我有字段REPORTDATE(DATETIME).
sql Developer中,我可以看到它的格式

29.10.2013 17:08:08

我发现为了做一个DATE的选择,我需要执行这个:

SELECT TO_DATE (REPORTDATE,'DD.MON.YYYY') AS my_date
FROM TABLE1

但它返回0RA-01843:不是有效月份

我希望结果只返回29.10.2013

解决方法

TO_DATE (REPORTDATE,‘DD.MON.YYYY’)

这毫无意义.您正在将日期再次转换为日期.您使用TO_DATE将字符串文字转换为DATE.

I want result to return only 29.10.2013

您可以使用Trunc截断时间元素.如果要将此值用于DATE计算,可以直接使用它.

例如,

sql> select Trunc(SYSDATE) dt FROM DUAL;

DT
---------
12-MAR-15

要以特定格式显示,您可以使用TO_CHAR和正确的FORMAT MASK.

sql> SELECT to_char(SYSDATE,'DD.MM.YYYY') dt from dual;

DT
----------
12.03.2015

sql>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐