如何在oracle10g中将字符串日期转换为日期格式

lee*_*odh 17 oracle oracle10g plsqldeveloper

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

Jef*_*emp 30

您可以使用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
Run Code Online (Sandbox Code Playgroud)

例如,如果表名为MYTABLE且varchar2列为MYDATESTRING:

SELECT TO_CHAR(
         TO_DATE(MYDATESTRING
                ,'DD/Month/YYYY,HH:MI AM')
       ,'DD-MM-YYYY')
FROM MYTABLE;
Run Code Online (Sandbox Code Playgroud)


Pen*_*old 11

您需要使用该TO_DATE功能.

SELECT TO_DATE('01/01/2004', 'MM/DD/YYYY') FROM DUAL;
Run Code Online (Sandbox Code Playgroud)