web-dev-qa-db-fra.com

comment convertir une chaîne de date en format de date dans Oracle10g

Ma valeur de date est stockée sous la forme varchar2 et la valeur est 15/August/2009,4:30 PM, comment convertir ceci en un format de date approprié comme DD-MM-YYYY.

16
leelavinodh

Vous pouvez convertir une chaîne en DATE en utilisant la fonction TO_DATE, puis reformater la date en une autre chaîne en utilisant TO_CHAR, à savoir:

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

Par exemple, si le nom de votre table est MYTABLE et la colonne varchar2 est MYDATESTRING:

SELECT TO_CHAR(
         TO_DATE(MYDATESTRING
                ,'DD/Month/YYYY,HH:MI AM')
       ,'DD-MM-YYYY')
FROM MYTABLE;
29
Jeffrey Kemp

Vous devez utiliser le TO_DATE une fonction.

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