更改mysql查询中的时间格式ORDER BY

时间:2012-11-23 07:02:57

标签: php mysql sql

我正在处理项目,其中用户拥有以正常格式存储日期的数据库 2013年3月8日,我想要使用日期对输出进行排序..但是没有使用未正确的输出bcos时间戳。 ...所以我可以使用或将该日期字段转换为mysql查询中的时间戳

SELECT * FROM imdb WHERE year ='2012' ORDER BY `date` DESC LIMIT 20

我想要一些像这样的东西

SELECT * FROM imdb WHERE year ='2012' ORDER BY strtotime(`date`) DESC LIMIT 20

但我知道这不会有用......是否有出路

2 个答案:

答案 0 :(得分:2)

因为它不是日期,所以使用STR_TO_DATE将字符串转换为日期

SELECT * 
FROM imdb 
WHERE year ='2012' 
ORDER BY STR_TO_DATE(`date`, '%e %M %Y') DESC 
LIMIT 20

答案 1 :(得分:0)

试试这个::

SELECT * FROM imdb WHERE year ='2012' ORDER BY DATE(`date`) DESC LIMIT 20