加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle SQL“DATETIME字段中的SELECT DATE”

发布时间:2020-12-12 13:13:27 所属栏目:百科 来源:网络整理
导读:我有字段REPORTDATE(DATETIME). 在SQL Developer中,我可以看到它的格式 29.10.2013 17:08:08 我发现为了做一个DATE的选择,我需要执行这个: SELECT TO_DATE (REPORTDATE,'DD.MON.YYYY') AS my_dateFROM TABLE1 但它返回0RA-01843:不是有效月份 我希望结果只
我有字段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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读