17

我的日期值存储为varchar2,值是15/August/2009,4:30 PM,如何将其转换为适当的日期格式,如DD-MM-YYYY.

4

2 回答 2

31

您可以使用 TO_DATE 函数将字符串转换为 DATE,然后使用 TO_CHAR 将日期重新格式化为另一个字符串,即:

SELECT TO_CHAR(
         TO_DATE('15/August/2009,4:30 PM'
                ,'DD/Month/YYYY,HH:MI AM')
       ,'DD-MM-YYYY')
FROM DUAL;

15-08-2009

例如,如果您的表名是 MYTABLE 并且 varchar2 列是 MYDATESTRING:

SELECT TO_CHAR(
         TO_DATE(MYDATESTRING
                ,'DD/Month/YYYY,HH:MI AM')
       ,'DD-MM-YYYY')
FROM MYTABLE;
于 2011-12-06T05:38:27.907 回答
11

您需要使用该TO_DATE功能。

SELECT TO_DATE('01/01/2004', 'MM/DD/YYYY') FROM DUAL;
于 2011-12-03T08:52:26.203 回答