按数据排序/按时间排序" 00:00 - 23:00"

时间:2014-03-18 19:44:03

标签: sql sqlite

我试图弄清楚一个sql查询,它允许我根据在appointment_time列中排序的时间对数据按升序排序,它的值如" 00:00" - " 23:00"

在我看来,它看起来像这样:

SELECT * FROM myTable ORDER BY appointment_time ASC

但我不知道如何理解00:00的价值低于00:01,等等。

2 个答案:

答案 0 :(得分:1)

如果您将from_time和to_time存储为DATETIME(在两个单独的列中),则DB将正确完成排序。

它也会考虑日期部分,即在 2013年12月31日23:30 之前排序 2014年1月1日23:00 。如果您对日期并不感兴趣,请对所有条目使用虚拟日期,并使用该列的时间部分。

答案 1 :(得分:1)

在编写查询时,它们会很好地排序,最简单的方法是让它旋转一下,看看会发生什么:

SELECT * 
FROM myTable 
ORDER BY appointment_time ASC

演示:SQL Fiddle

字母数字排序对于存储在字符串中的数字没有问题,只要它们是零填充的,就像你的时间一样。