Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

दशमलव वर्ष को तिथि में बदलें

यदि आप इस धारणा से शुरू करते हैं कि दशमलव भाग की गणना दिए गए वर्ष में दिनों की संख्या के अनुसार की गई थी (यानी 365 या 366 इस पर निर्भर करता है कि यह एक लीप वर्ष था), आप ऐसा कुछ कर सकते हैं:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle DATE कॉलम को टाइमज़ोन के साथ TIMESTAMP में माइग्रेट करना

  2. SQL Oracle - फ़िल्टर के साथ लगातार पंक्तियों का संयोजन

  3. ऑरैकल काउंट नल प्रति कॉलम

  4. ओरेकल पर एक उपयोगकर्ता द्वारा एक साथ कनेक्शन को अक्षम कैसे करें

  5. केवल पढ़ने के समानार्थक शब्द पर फ्लश पर हाइबरनेट ऑटो अपडेट अक्षम करें