sql >> Database >  >> RDS >> Oracle

Maak datum van jaar, maand en dag

Voor uw voorbeeld kunt u case . gebruiken :

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)

Helaas heeft Oracle geen methode om de conversie uit te voeren, indien mogelijk, en anders NULL terug te geven. SQL Server introduceerde onlangs try_convert() voor dit doel.

Een optie is om uw eigen functie te schrijven met een uitzonderingshandler voor de mislukte conversie. De exception-handler zou gewoon NULL return teruggeven voor een slecht formaat.



  1. Een snelkoppeling om een ​​tabelrij in de database bij te werken?

  2. SQLRecoverableException:I/O-uitzondering:verbinding opnieuw instellen

  3. Hoe kan ik de PostgreSQL-server starten op Mac OS X?

  4. Waarom genereert het Entity Framework geneste SQL-query's?