Oracle
 sql >> база данни >  >> RDS >> Oracle

Изберете и актуализирайте редове с дата 00/00/0000 00:00:00 00 в Oracle

Намерих отговор на това, като си поиграх малко с него. Просто го поставям тук, за да може да бъде полезно на някой друг, ако има нужда от него.

За намиране на редове с 00/00/0000 00:00:00 00 стойност, тази клауза Where работи:

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

За да намерите редове, които може да имат повече стойности за дата като тези:

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;

Сега това също избира редове с 00/00/0000 00:00:00 00 дата.

А що се отнася до актуализацията, можете да използвате този пример:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Получаване на дефиниции на програмни обекти на ORACLE

  2. Четене на BLOB с помощта на JDBC Spring без набор от резултати

  3. При какви условия ROWNUM=1 повишава значително производителността в заявка за съществуващ файл

  4. Как да използвате Explain Plan за оптимизиране на заявки?

  5. Онлайн проверка на синтаксиса на SQL, съответстваща на множество бази данни