Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Wybierz i zaktualizuj wiersze z datą 00/00/0000 00:00:00 00 w Oracle

Znalazłem odpowiedź na to, bawiąc się trochę. Po prostu umieść go tutaj, aby mógł być pomocny dla kogoś innego, jeśli tego potrzebuje.

Aby znaleźć wiersze z 00/00/0000 00:00:00 00 wartość, ta klauzula Where działa:

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

Aby znaleźć wiersze, które mogą mieć więcej takich wartości dat:

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;

Teraz wybiera również wiersze z 00/00/0000 00:00:00 00 data.

A jeśli chodzi o aktualizację, możesz użyć tego przykładu:

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. Funkcja autoinkrementacji Oracle:wyzwalacze czy Oracle JDBC CallableStatement w wersji 11.2?

  2. Escape ampersand w PL/SQL Developer

  3. Obsługiwać wartości NULL podczas czytania przez OracleDataReader?

  4. Jak mogę wyświetlić WSZYSTKIE granty otrzymane przez użytkownika?

  5. Wstawianie do Oracle i pobieranie wygenerowanego identyfikatora sekwencji