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

Utwórz datę z roku, miesiąca i dnia

Na przykład możesz użyć case :

select (case when my_year is not null and my_year <> 0 and
                  my_year between -4713 and 9999
             then TO_DATE(my_year || '-01-01', 'YYYY-MM-DD')
        end)

Niestety, Oracle nie ma sposobu na wykonanie konwersji, jeśli to możliwe, i zwrócenie w inny sposób wartości NULL. SQL Server niedawno wprowadził try_convert() w tym celu.

Jedną z opcji jest napisanie własnej funkcji z obsługą wyjątków dla nieudanej konwersji. Obsługa wyjątków po prostu zwróciłaby NULL dla złego formatu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie wszystkich kolumn każdego rekordu w jeden wpis

  2. Nie można wstawić danych Varchar2 przy użyciu procedury składowanej z typem tabeli jako parametrem IN

  3. Określanie lokalizacji odpowiedniego pliku tnsnames.ora

  4. Jaka jest różnica między odczytem niepowtarzalnym a odczytem fantomowym?

  5. Jak uzyskać plik z BLOB w Oracle?