Oracle SQL“来自DATETIME的SELECT DATE字段" [英] Oracle SQL "SELECT DATE from DATETIME field "

查看:104
本文介绍了Oracle SQL“来自DATETIME的SELECT DATE字段"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有字段REPORTDATE(DATETIME). 在SQL Developer中,我可以看到这种格式的值

I have field REPORTDATE (DATETIME). In SQL Developer i can see its value in this format

29.10.2013 17:08:08

我发现,为了只选择一个日期,我需要执行以下操作:

I found that in order to do the select of just a DATE I need to execute this:

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

但返回0RA-01843: not a valid month

我希望结果仅返回29.10.2013

I want result to return only 29.10.2013

推荐答案

TO_DATE(REPORTDATE,"DD.MON.YYYY")

TO_DATE (REPORTDATE, 'DD.MON.YYYY')

这没有任何意义.您正在将日期再次转换为日期.您使用 TO_DATE 将字符串文字转换为 DATE .

This makes no sense. You are converting a date into a date again. You use TO_DATE to convert a string literal into DATE.

我希望结果仅返回29.10.2013

I want result to return only 29.10.2013

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

You could use TRUNC to truncate the time element. If you want to use this value for DATE calculations, you could use it directly.

例如,

SQL> select TRUNC(SYSDATE) dt FROM DUAL;

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

要以特定格式显示,可以使用 TO_CHAR 和适当的 FORMAT MASK .

To display in a particular format, you could use TO_CHAR and proper FORMAT MASK.

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

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

SQL>

这篇关于Oracle SQL“来自DATETIME的SELECT DATE字段"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆