sql >> Databáze >  >> RDS >> Oracle

Vyberte a aktualizujte řádky s datem 00/00/0000 00:00:00 00 v Oracle

Odpověď jsem našel tak, že jsem si s tím trochu pohrál. Stačí to sem dát, aby to mohlo být užitečné pro někoho jiného, ​​pokud to bude potřebovat.

Chcete-li najít řádky s 00/00/0000 00:00:00 00 hodnota, tato klauzule Where funguje:

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

Chcete-li najít řádky, které mohou mít více hodnot data, jako jsou tyto:

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;

Nyní se také vyberou řádky s 00/00/0000 00:00:00 00 datum.

A pokud jde o aktualizaci, můžete použít tento příklad:

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. Poddotaz MySQL s hlavní datovou proměnnou dotazu

  2. PHP a MySQL neaktualizuje databázi

  3. Zabránění vkládání SQL v dynamickém SQL

  4. Chyba připojení při připojování k PostgreSQL jako uživatel postgres?