MYSQL按时间am / pm排序

时间:2012-10-18 10:31:11

标签: mysql time sql-order-by

我在表格中有一行,以am / pm格式保存时间,例如

timeField
---------
9.00am
10.00pm
7.00am 
etc...

mysql中有没有办法订购这些值?

4 个答案:

答案 0 :(得分:15)

您可以使用MySQL中的STR_TO_DATE函数来执行此操作:

SELECT STR_TO_DATE('10.00pm','%h.%i%p');

试试这个:

SELECT * 
FROM table_name 
ORDER BY STR_TO_DATE(timeField,'%h.%i%p');

示例:SQLFiddle

答案 1 :(得分:1)

为了订购它,您需要格式化日期字段。

试试这个

SELECT COl1, COl2, DATE_FORMAT(yourdate, '%k:%i:%s') AS mydate
FROM your_table
ORDER BY mydate 

享受

答案 2 :(得分:0)

SELECT * FROM table ORDER BY Name

这样可以让我按顺序排列:按字母顺序排列,日期和时间

答案 3 :(得分:0)

使用以下查询

select * from 'Your Table Name' order by str_to_date('yourtimefield', '%l:%i %p');