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