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

Vælg og opdater rækker med dato 00/00/0000 00:00:00 00 i Oracle

Jeg fandt svar på dette ved at lege lidt med det. Bare læg det her, så det kan være nyttigt for en anden, hvis de har brug for det.

Sådan finder du rækker med 00/00/0000 00:00:00 00 værdi, denne Where-klausul virker:

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

Sådan finder du rækker, der muligvis har flere datoværdier som disse:

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;

Nu vælger dette også rækker med 00/00/0000 00:00:00 00 dato.

Og hvad angår opdateringen, kan du bruge dette eksempel:

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 ');



  1. Python pandas to_sql 'tilføj'

  2. mySQL vælg I området

  3. PostgreSQL Upsert med en WHERE-klausul

  4. Eksempler på konvertering af 'dato' til 'datetime' i SQL Server (T-SQL)