如何在sql中对日期和时间进行排序?
数据:
我想要的是:
- 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
答案 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将要存储的内容。