Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle vergleicht zwei verschiedene Daten

Ihre Eingabezeichenfolge in to_date() Funktion stimmt nicht mit Ihrem Muster überein. Der Wert enthält - als Trennzeichen verwenden Sie jedoch im Muster / :

Wenn Sie Ihr Eingabeformat und das Muster ausrichten, sollte dies funktionieren:

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

Ich persönlich bevorzuge ANSI-Zeitstempelliterale gegenüber to_date() funktionieren, weil sie portabel sind und weniger Tipparbeit erfordern:

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

Beachten Sie, dass das Format der hier angegebenen Zeichenfolge immer ist das ISO-Format.

Eine Randnotiz:
Jedes "Format", das Sie sehen, wenn Sie sich die Werte in der Spalte daterx ansehen wird von dem SQL-Client angewendet, den Sie verwenden, um diese Daten anzuzeigen (SQL*Plus, SQL Developer, ...).

Der Wert selbst wird ohne Format gespeichert auf dem Server. Formatierung eines DATE Wert ist immer erfolgt durch den SQL-Client (oder Ihre Anwendung):