【发布时间】:2017-01-02 17:07:16
【问题描述】:
我有一张带有时间字段的表格。时间格式为 HH:mm。 营业时间仅为 22:00 至 06:00。 我想对行进行排序,使它们看起来像这样:
Hour
22:00
22:30
23:15
00:15
01:30
03:50
05:30
但在我当前的查询中:
select * from events order by hour
它们看起来像这样:
Hour
00:15
01:30
03:50
05:30
22:00
22:30
23:15
有可能吗?谢谢!
【问题讨论】:
-
ORDER BY with case
SELECT EVENTS.Hour FROM EVENTS ORDER BY CASE WHEN HOUR(EVENTS.Hour) >= 22 THEN 0 ELSE 1 END或 ORDER BY with IFSELECT EVENTS.Hour FROM EVENTS ORDER BY IF ( HOUR(EVENTS.Hour) >= 22 , 0 , 1 )使用 HOUR 函数比使用 SUBSTR 函数更干净