Oracle SQL"DATETIME字段中的SELECT DATE"

Dej*_*jan 6 sql oracle 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
Run Code Online (Sandbox Code Playgroud)

但它回来了 0RA-01843: not a valid month

我希望结果只返回29.10.2013

Lal*_*r B 20

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

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

我希望结果只返回29.10.2013

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

例如,

SQL> select TRUNC(SYSDATE) dt FROM DUAL;

DT
---------
12-MAR-15
Run Code Online (Sandbox Code Playgroud)

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

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

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

SQL>
Run Code Online (Sandbox Code Playgroud)