我的表中有很多类似于2011-10-05 08:09:00.000
的时间戳,下面的查询引用了reg_date、mid_date和pre_date。而不是显示时间戳,我需要它显示23 mins ago
而不是2011-10-05 08:09:00.000
。我试过一些函数,比如timediff()
和format()
。我想在查询中完成这一切,这样我就不必查询和处理结果了。
也许我不太了解玛瑙,但我相信有一种方法可以完成这件事。我对MySQL查询语句很陌生。我看到了很多潜力和时间节省。我只是需要一点帮助来完成这件事。
select reg_price as regPrice, _id as ID, lat, lng, reg_date as regDate,
mid_date as midDate, pre_date as preDate,
format((acos(sin(radians(39.9891)) * sin(radians(lat)) + cos(radians(39.9891)) *
cos(radians(lat)) * cos(radians(-82.8116) - radians(lng))) * 6378),1)
as distance from stationDetails where (acos(sin(radians(39.9891))
* sin(radians(lat)) + cos(radians(39.9891)) * cos(radians(lat)) *
cos(radians(-82.8116) - radians(lng))) * 6378) <= 3 order by reg_price asc, reg_price asc
最佳答案
使用TIMEDIFF()
和TIME_FORMAT()
您应该能够像X分钟前那样显示结果。根据需要,根据您希望如何处理不同的时间刻度(小时、天等),可以很容易地修改其他时间值:
select
TIME_FORMAT(
TIMEDIFF(now(), dt)
,'%i minute(s) ago'
)
from Data;
演示:http://sqlize.com/r1mlXcM62V
关于mysql - 自更新MySQL查询以来的时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7678214/