Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle confronta due date diverse

La tua stringa di input in to_date() la funzione non corrisponde al tuo modello. Il valore contiene - come delimitatore, tuttavia nel modello usi / :

Se allinei il formato di input e il modello, dovrebbe funzionare:

datetrx <= to_date('2014-07-16 00:00:00','yyyy-mm-dd hh24:mi:ss')

Personalmente preferisco i valori letterali di timestamp ANSI rispetto a to_date() funzione perché sono portatili ed è meno digitando:

datetrx <= timestamp '2014-07-16 00:00:00'

Nota che il formato della stringa fornita qui è sempre il formato ISO.

Una nota a margine:
Qualsiasi "formato" che vedi guardando i valori nella colonna daterx viene applicato dal client SQL utilizzato per visualizzare tali dati (SQL*Plus, SQL Developer, ...).

Il valore stesso viene memorizzato senza un formato sul server. Formattazione di un DATE il valore è sempre fatto dal client SQL (o dalla tua applicazione):