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

Създайте дата от година, месец и ден

За вашия пример можете да използвате 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)

За съжаление, Oracle няма метод за извършване на преобразуването, ако е възможно, и в противен случай връща NULL. SQL Server наскоро представи try_convert() за тази цел.

Една от възможностите е да напишете своя собствена функция с манипулатор на изключения за неуспешното преобразуване. Манипулаторът на изключения просто би върнал NULL за лош формат.



  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 SQL - Как мога да извикам конвейерната функция на ODCI с помощта на JSP

  2. PLSQL Вмъкване в с подзаявка и клауза за връщане

  3. Oracle SQL - DENSE_RANK

  4. Как да създадете zip папка в plsql (Oracle)

  5. Как да изберете и подредите по колони, които не са в Groupy By SQL израз - Oracle