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

时间:2011-12-03 08:31:58

标签: oracle oracle10g plsqldeveloper

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

2 个答案:

答案 0 :(得分:29)

您可以使用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;

答案 1 :(得分:10)

您需要使用TO_DATE功能。

SELECT TO_DATE('01/01/2004', 'MM/DD/YYYY') FROM DUAL;