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

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

您可以使用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-MM-YYYY')
FROM MYTABLE;

dawei