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

365 दिनों के साथ दृश्य बनाएं

यह सरल दृश्य यह करेगा:

create or replace view year_days as
select trunc(sysdate, 'YYYY') + (level-1) as the_day
from dual
connect by level <= to_number(to_char(last_day(add_months(trunc(sysdate, 'YYYY'),11)), 'DDD'))
/

इस तरह:

SQL> select * from year_days;

THE_DAY
---------
01-JAN-11
02-JAN-11
03-JAN-11
04-JAN-11
05-JAN-11
06-JAN-11
07-JAN-11
08-JAN-11
09-JAN-11
10-JAN-11
11-JAN-11

...

20-DEC-11
21-DEC-11
22-DEC-11
23-DEC-11
24-DEC-11
25-DEC-11
26-DEC-11
27-DEC-11
28-DEC-11
29-DEC-11
30-DEC-11
31-DEC-11

365 rows selected.

SQL> 

कई Oracle दिनांक कार्यों को लागू करके तिथि उत्पन्न होती है:

  • trunc(sysdate, 'yyyy') हमें चालू वर्ष के लिए पहली जनवरी देता है
  • add_months(x, 11) हमें पहला दिसंबर देता है
  • last_day(x) हमें इकतीस दिसंबर देता है
  • to_char(x, 'DDD') हमें दिसंबर के इकतीस, इस साल 365 और अगले 366 की संख्या देता है।
  • यह अंतिम आंकड़ा पंक्ति जनरेटर के लिए ऊपरी सीमा प्रदान करता है CONNECT BY LEVEL <= X


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक सेलेक्ट स्टेटमेंट के परिणाम अपडेट करें

  2. .NET / Oracle:प्रोग्राम के रूप में डीडीएल स्टेटमेंट के साथ एक स्क्रिप्ट को कैसे निष्पादित करें?

  3. विभाग में स्विच के कारण टेबल में डुप्लीकेट कर्मचारी

  4. Oracle में एक तिथि से वर्ष प्राप्त करने के लिए 2 कार्य

  5. Oracle को ऐसी पंक्तियाँ मिलती हैं जो मानों की सूची से बिल्कुल मेल खाती हैं