gpt4 book ai didi

sql - 从星期一到星期日按星期几排序

转载 作者:行者123 更新时间:2023-12-03 12:01:26 26 4
gpt4 key购买 nike

如果我写

select ename, to_char(hiredate,'fmDay') as "Day" order by "Day";

然后它根据 Day 对结果进行排序;从星期五开始,然后是星期一和最后一个星期三,
比如按字符排序。

但我想按星期几排序;从周一到周日。

最佳答案

你按照你的顺序得到它,因为你是按字符串排序的(这不起作用,因为你没有从任何东西中进行选择)。

您可以通过 format model 订购用于以数字形式创建星期几,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 Fiddle展示。

在您的情况下,您的查询将变为:
select ename, to_char(hiredate,'fmDay') as "Day" 
from my_table
order by mod(to_char(hiredate, 'D') + 5, 7)

关于sql - 从星期一到星期日按星期几排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13662451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com