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

Oracle Nur Zeit von To_Date() in einer Abfrage abrufen?

TO_DATE('08:35:42 AM','HH:MI:SS PM')

Der Grund, warum dies nicht funktioniert, ist, dass dies kein vollständiges Datum ist. Selbst wenn Sie ein to_date('07/12/2011','MM/DD/YYYY') verwenden, speichert Oracle das Datum und die Uhrzeit, setzt aber alle Komponenten der Uhrzeit auf NULL. Das tatsächlich gespeicherte Datum ist also der 12.07.2011 HH:MI:SS

Wenn Sie die Zeitkomponente separat speichern möchten, sollte es sich um ein varchar-Feld handeln, und Sie müssen es dem Datumsteil hinzufügen, um das vollständige Datum zu erhalten. Beispiel..

Select to_date(
          to_char(date_field_stored_as_date,'DD-MON-YYYY') || 
          ' ' ||
          to_char(time_field_stored_as_varchar),
         'DD-MON-YYYY HH24:MI:SS'    
       )