小编典典

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

sql

我正在处理项目,其中用户具有以常规格式存储的日期的数据库, 2013年3月8日
,我想对输出进行日期排序。或将该日期字段转换为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

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


阅读 147

收藏
2021-04-14

共1个答案

小编典典

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

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