问题
I have a row in a table which holds the time of day in am/pm format e.g.
timeField
---------
9.00am
10.00pm
7.00am
etc...
Is there a way in mysql to order these values?
回答1:
You can do this by using STR_TO_DATE function in MySQL:
SELECT STR_TO_DATE('10.00pm','%h.%i%p');
try this:
SELECT *
FROM table_name
ORDER BY STR_TO_DATE(timeField,'%h.%i%p');
Example: SQLFiddle
回答2:
In order to order it you need to format the date field fist.
try this
SELECT COl1, COl2, DATE_FORMAT(yourdate, '%k:%i:%s') AS mydate
FROM your_table
ORDER BY mydate
Enjoy
回答3:
SELECT * FROM table ORDER BY Name
This put everything in order for me: Alphabetized, Dates and Time
来源:https://stackoverflow.com/questions/12952608/mysql-order-by-time-am-pm