我在数据库表departureDateTime and arrivalDateTime
中有两个字段,其值如
departureDateTime=03/18/2012 1:05 PM
arrivalDateTime=03/18/2012 3:15 PM
我在表格中有数百条记录。
我需要根据这两次的持续时间进行排序和显示。我知道要计算两个日期的持续时间
Duration=(strtotime($arrivalDateTime') - strtotime($departureDateTime))/3600
但是我如何编写一个mysql查询来从数据库中排序和显示这100条记录
有人有任何想法吗?
谢谢
答案 0 :(得分:1)
将departureDateTime更改为DATETIME而不是varchar或您当前使用的任何内容。然后你会使用这样的东西:
SELECT other, stuff, TIMEDIFF(departureDateTime, arrivalDateTime) as theDifference FROM myTable ORDER BY theDifference ASC LIMIT 0, 100
答案 1 :(得分:0)
如果您将日期和时间保留在日期时间列类型中,那么您就不会遇到此问题。考虑改变。
还有mysql函数来计算日期和时间 http://dev.mysql.com/doc/refman/5.6/en/datetime.html
如果没有,你可以使用usort在PHP中进行排序。