文字列で並べ替えているため、現在の順序で取得できます(何も選択していないため、これは機能しません)。
曜日を数値形式で作成するために使用されるフォーマットモデルD
で並べ替えることができます。 、ただし、これでは日曜日が1なので、mod()
を使用することをお勧めします これを機能させるために。
つまり、テーブルを想定します
create table a ( b date );
insert into a
select sysdate - level
from dual
connect by level <= 7;
これはうまくいくでしょう:
select mod(to_char(b, 'D') + 5, 7) as dd, to_char(b, 'DAY')
from a
order by mod(to_char(b, 'D') + 5, 7)
これがデモンストレーションするSQLフィドルです。
あなたの場合、クエリは次のようになります:
select ename, to_char(hiredate,'fmDay') as "Day"
from my_table
order by mod(to_char(hiredate, 'D') + 5, 7)