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

Oracle का उपयोग करके वर्षों, महीनों और दिनों में आयु कैसे प्राप्त करें?

ललित के उत्तर के समान ही, लेकिन आप add_months का उपयोग करके, प्रति माह 30 दिन मानकर बिना सटीक दिनों की संख्या प्राप्त कर सकते हैं पूरे महीने के कुल अंतर से समायोजित करने के लिए:

select sysdate,
  hiredate,
  trunc(months_between(sysdate,hiredate) / 12) as years,
  trunc(months_between(sysdate,hiredate) -
    (trunc(months_between(sysdate,hiredate) / 12) * 12)) as months,
  trunc(sysdate)
    - add_months(hiredate, trunc(months_between(sysdate,hiredate))) as days
from emp;

SYSDATE    HIREDATE        YEARS     MONTHS       DAYS
---------- ---------- ---------- ---------- ----------
2015-10-26 1980-12-17         34         10          9
2015-10-26 1981-02-20         34          8          6
2015-10-26 1981-02-22         34          8          4
2015-10-26 1981-04-02         34          6         24
2015-10-26 1981-09-28         34          0         28
2015-10-26 1981-05-01         34          5         25
2015-10-26 1981-06-09         34          4         17
2015-10-26 1982-12-09         32         10         17
2015-10-26 1981-11-17         33         11          9
2015-10-26 1981-09-08         34          1         18
2015-10-26 1983-01-12         32          9         14
2015-10-26 1981-12-03         33         10         23
2015-10-26 1981-12-03         33         10         23
2015-10-26 1982-01-23         33          9          3

आप गणना को उलट कर सत्यापित कर सकते हैं:

with tmp as (
    select trunc(sysdate) as today,
      hiredate,
      trunc(months_between(sysdate,hiredate) / 12) as years,
      trunc(months_between(sysdate,hiredate) -
        (trunc(months_between(sysdate,hiredate) / 12) * 12)) as months,
      trunc(sysdate)
        - add_months(hiredate, trunc(months_between(sysdate,hiredate))) as days
    from emp
)
select * from tmp
where today != add_months(hiredate, (12 * years) + months) + days;

no rows selected


  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 शटडाउन त्रुटि ORA-01033

  2. NUMTOYMINTERVAL () Oracle में फ़ंक्शन

  3. संग्रहीत प्रक्रिया से पैरामीटर पुनर्प्राप्त करें?

  4. sqldeveloper त्रुटि संदेश:नेटवर्क एडेप्टर कनेक्शन त्रुटि स्थापित नहीं कर सका

  5. फिक्स 'एप्लिकेशन "SQLDeveloper.app" खोला नहीं जा सकता।'