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

Wählen und aktualisieren Sie Zeilen mit dem Datum 00/00/0000 00:00:00 00 in Oracle

Ich habe eine Antwort darauf gefunden, indem ich ein wenig damit herumgespielt habe. Stellen Sie es einfach hierher, damit es für andere hilfreich sein kann, wenn sie es brauchen.

So finden Sie Zeilen mit 00/00/0000 00:00:00 00 Wert, funktioniert diese Where-Klausel:

WHERE TO_CHAR(INVENTORY_DATE,'YYYYMMDDHH24MISS') = '00000000000000'

So finden Sie Zeilen, die möglicherweise mehr Datumswerte wie diese enthalten:

Select TO_CHAR(INVENTORY_DATE, 'MM/DD/YYYY HH:MI:SS AM') "Inventory Date", MyTable.*
From SOMESCHEMA.INVENTORY MyTable
Where INVENTORY_DATE <  TO_DATE('01/01/1000 01:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM ')
order by MyTable.INVENTORY_DATE ASC NULLS LAST
FETCH FIRST 10 ROWS ONLY;

Jetzt werden auch Zeilen mit 00/00/0000 00:00:00 00 ausgewählt Datum.

Und für das Update können Sie dieses Beispiel verwenden:

UPDATE SOMESCHEMA.INVENTORY
SET INVENTORY_DATE = TO_DATE('12/30/1899 05:00:00 A.M.', 'mm/dd/yyyy hh:mi:ss a.m.', 'nls_date_language=american')
Where INVENTORY_DATE < TO_DATE('01/01/1000 01:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM ');