1

我正在开发一个项目,其中用户有数据库,其日期以正常格式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

但我知道这行不通……有出路吗

4

2 回答 2

2

由于它不是日期,因此用于STR_TO_DATE将字符串转换为日期

SELECT * 
FROM imdb 
WHERE year ='2012' 
ORDER BY STR_TO_DATE(`date`, '%e %M %Y') DESC 
LIMIT 20
于 2012-11-23T07:08:22.623 回答
0

试试这个::

SELECT * FROM imdb WHERE year ='2012' ORDER BY DATE(`date`) DESC LIMIT 20
于 2012-11-23T07:06:18.983 回答