如何使用SQL中的时间对计划日进行排序?

时间:2018-02-06 06:39:02

标签: mysql sql

如何在sql中对日期和时间进行排序?

数据:

enter image description here

我想要的是:

 - Day        |      Time

 - M-W-F      | 08:00 - 09:00 am 
 - M-W-F      | 09:00 - 10:00 am
 - .....................

 - T-Th       | 07:00 - 8:30 am
 - T-Th       | 8:30 - 10:00 am 
 - ....................

 - Sat        | 09:00 - 12:00 am
 - Sat        | 02:00 - 5:00 pm

我现在使用的SQL:

SELECT * FROM subject_scheduled ORDER BY time_day ASC

1 个答案:

答案 0 :(得分:0)

尝试以下查询。如果您知道将在day column中存储的那一天,那么您可以在临时表中定义序列并将其用于排序。

Declare  @MasterData table (day varchar(111),seq int)
insert into @MasterData
select 'M-W-F',1
union
select 'T-Th' , 2
union
select 'Sat',3

select t.* 
From subject_scheduled t 
join @MasterData m on t.Day=m.day
order by m.seq,left(time,2) asc

您可能需要深入挖掘时间,因为我不确定您的存储方式,如果它从上午开始存储,并且结束PM将要存储的内容。