sql >> Database >  >> RDS >> Oracle

Selecteer en update rijen met datum 00/00/0000 00:00:00 00 in Oracle

Ik heb hier een antwoord op gevonden door er een beetje mee te spelen. Zet het hier gewoon zodat het nuttig kan zijn voor iemand anders als ze het nodig hebben.

Om rijen te vinden met 00/00/0000 00:00:00 00 waarde, deze Where-clausule werkt:

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

Om rijen te vinden die mogelijk meer datumwaarden hebben zoals deze:

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;

Dit selecteert nu ook rijen met 00/00/0000 00:00:00 00 datum.

En wat betreft de update, je kunt dit voorbeeld gebruiken:

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. Tool die mySQL-query converteert naar Zend FrameWork-query

  2. UNIQUE implementeren in gekoppelde tabellen in MySQL

  3. Verkrijg dubbele precisiewaarden van inconsistente tekenreeksen voor het gebruik van ST_GeomFromText (PostGIS)

  4. Hoe vergrendel ik lezen/schrijven naar MySQL-tabellen zodat ik kan selecteren en vervolgens kan invoegen zonder dat andere programma's de database lezen/schrijven?