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

Oracle sql सप्ताह के दिनों को वर्तमान दिन के अनुसार क्रमबद्ध करें

यदि आप सप्ताह के दिन के आधार पर तारीखों के समूह को क्रमबद्ध करने का प्रयास कर रहे हैं, जिसमें शनिवार पहला है, तो संशोधित तिथि के अनुसार आदेश देने पर विचार करें:

create table t1(my_date date);
insert into t1
select trunc(sysdate)+rownum
from dual
connect by level <= 20

select
  my_date,
  to_char(my_date,'Day'),
  to_char(my_date,'D')
from
  t1
order by
  to_char(my_date + 1,'D');

http://sqlfiddle.com/#!4/5940b/3

नकारात्मक पक्ष यह है कि यह बहुत सहज नहीं है, इसलिए यदि आप इस पद्धति का उपयोग करते हैं तो एक कोड टिप्पणी जोड़ें।

संपादित करें:जहां आपके पास संख्याओं की सूची है, या तो सूची रूपांतरण के साथ केस स्टेटमेंट द्वारा ऑर्डर करें:

case day
  when 1 then 3
  when 2 then 4
  when 3 then 5
  when 4 then 6
  when 5 then 7
  when 6 then 1 -- saturday
  when 7 then 2
end

... या अधिक कॉम्पैक्ट, लेकिन उतना सहज नहीं:

case
  when day <= 5 then day + 2
  else               day - 5
end

order by case 


  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. sqlplus से संग्रहित प्रक्रिया को कॉल करें

  3. sql . में दो तिथियों के बीच अंतर

  4. 0 =0 जैसी स्थिति होने का सही अर्थ क्या है?

  5. दो तालिकाओं से कई स्तंभों का योग प्राप्त करना