sql >> Database >  >> RDS >> Oracle

Converteer decimaal jaar naar datum

Als u ervan uitgaat dat het decimale deel is berekend op basis van het aantal dagen in het gegeven jaar (d.w.z. 365 of 366 afhankelijk van of het een schrikkeljaar was), zou je zoiets als dit kunnen doen:

with
 q1 as (select 2003.024658 d from dual)
,q2 as (select d
              ,mod(d,1) as decimal_portion
              ,to_date(to_char(d,'0000')||'0101','YYYYMMDD')
               as jan01
        from q1)
,q3 as (select q2.*
              ,add_months(jan01,12)-jan01 as days_in_year
        from q2)
select d
      ,decimal_portion * days_in_year as days
      ,jan01 + (decimal_portion * days_in_year) as result
from   q3;

d: 2003.024658
days: 9.00017
result: 10-JAN-2003 12:00am



  1. Gegevens uit twee tabellen met dezelfde kolomnamen

  2. hoe databases in phpmyadmin te herstellen na het verwijderen van xampp

  3. Is het mogelijk om uit meerdere tabellen in dezelfde SQL-instructie te verwijderen?

  4. MySQL-volgorde op velden en ouders