Il mio valore di data viene memorizzato come varchar2
e il valore è 15/August/2009,4:30 PM
, come convertirlo in un formato data corretto come DD-MM-YYYY
.come convertire una stringa di data in formato data in oracle10g
risposta
È possibile convertire una stringa in una data utilizzando la funzione TO_DATE, quindi formattare la data come un'altra stringa utilizzando TO_CHAR, vale a dire:
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
Ad esempio, se il nome della tabella è MYTABLE e la colonna VARCHAR2 è MYDATESTRING:
SELECT TO_CHAR(
TO_DATE(MYDATESTRING
,'DD/Month/YYYY,HH:MI AM')
,'DD-MM-YYYY')
FROM MYTABLE;
È necessario utilizzare la funzione TO_DATE
.
SELECT TO_DATE('01/01/2004', 'MM/DD/YYYY') FROM DUAL;
sto ottenendo questo errore msg ORA-01.858: un carattere non numerico è stato trovato dove era previsto un numerica ORA-02063: precedente linea dal GENCONAIMSUA T 01858. 00000 - "è stato trovato un carattere non numerico in cui era previsto un valore numerico" * Causa: i dati di input da convertire utilizzando un modello di formato data erano errati. I dati di input non contenevano un numero in cui un numero era richiesto dal modello di formato. * Azione: correggere i dati di input o il modello di formato della data per assicurarsi che gli elementi corrispondano in numero e tipo. Quindi riprovare l'operazione. – leelavinodh
Grazie. Ho un po 'come sono riuscito a ottenere questo risultato usando la funzione substring. Ma la tua risposta è più semplice di quella che ho usato. Grazie mille. La mia istruzione sql è selezionare to_date (substr (CRM_ACC_DATE_TIME, 1, instr (CRM_ACC_DATE_TIME, ',') - 1), 'gg-mm-aaaa') da crm_claim_int_details_view; – leelavinodh
Sì, di solito c'è più di un modo per rivestire un gatto :) –