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

Oracle SQL का उपयोग करते हुए, एक आउटपुट दिन सप्ताह की संख्या और सप्ताह का दिन कैसे करता है?

फ्लोरिन का जवाब है कि मैं इसे कैसे करूंगा, लेकिन आपको एनएलएस सेटिंग्स के बारे में थोड़ा सावधान रहने की जरूरत है। सप्ताह का दिन एनएलएस क्षेत्र से प्रभावित होता है, इसलिए यदि मैं इसे यू.एस. में चलाता हूं तो यह काम करता है:

alter session set nls_territory = 'AMERICA';

select to_char(sysdate, 'D') as d, to_char(sysdate, 'Day') as day from dual;

D DAY
- ------------------------------------
6 Friday

select level as dow,
    to_char(trunc(sysdate ,'D') + level, 'Day') as day
from dual
connect by level <= 7;

DOW DAY
--- ------------------------------------
  1 Monday
  2 Tuesday
  3 Wednesday
  4 Thursday
  5 Friday
  6 Saturday
  7 Sunday

लेकिन यूके में चलने वाली वही क्वेरी एक दिन की छुट्टी है:

alter session set nls_territory = 'UNITED KINGDOM';

select to_char(sysdate, 'D') as d, to_char(sysdate, 'Day') as day from dual;

D DAY
- ------------------------------------
5 Friday

select level as dow,
    to_char(trunc(sysdate ,'D') + level, 'Day') as day
from dual
connect by level <= 7;

DOW DAY
--- ------------------------------------
  1 Tuesday
  2 Wednesday
  3 Thursday
  4 Friday
  5 Saturday
  6 Sunday
  7 Monday

... और मुझे उसके लिए सही करने के लिए गणना को समायोजित करने की आवश्यकता है:

select level as dow,
    to_char(trunc(sysdate ,'D') + level - 1, 'Day') as day
from dual
connect by level <= 7;

DOW DAY
--- ------------------------------------
  1 Monday
  2 Tuesday
  3 Wednesday
  4 Thursday
  5 Friday
  6 Saturday
  7 Sunday

आप चाहें तो दिन के नामों के लिए इस्तेमाल की जाने वाली भाषा भी अलग से निर्दिष्ट कर सकते हैं:

select level as dow,
    to_char(trunc(sysdate ,'day') + level - 1, 'Day',
        'NLS_DATE_LANGUAGE=FRENCH') as day
from dual
connect by level <= 7;

DOW DAY
--- --------------------------------
  1 Lundi
  2 Mardi
  3 Mercredi
  4 Jeudi
  5 Vendredi
  6 Samedi
  7 Dimanche

to_char() . के लिए दस्तावेज़ीकरण nls_date_language . के साथ और सप्ताह का दिन, और वैश्वीकरण सहायता मार्गदर्शिका में और भी बहुत कुछ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SqlAlchemy और cx_Oracle का उपयोग करके Oracle डेटाबेस में पांडा डेटाफ़्रेम लिखते समय to_sql () को गति दें

  2. Oracle क्लाउड के लिए Oracle वॉलेट का उपयोग करने के लिए Pentaho डेटा एकीकरण को कॉन्फ़िगर करना

  3. ORA-6502 ग्रांट लॉगिंग ट्रिगर के साथ

  4. ओरेकल में sdo_geometry से लेट और लॉन्ग कैसे प्राप्त करें?

  5. निर्धारित करें कि ओरेकल की तारीख सप्ताहांत पर है या नहीं?