为此,请按照以下语法在MySQL中使用ORDER BY STR_TO_DATE-select *from yourTableName ORDER BY STR_TO_DATE(yourColumnName, '%M %Y') DESC;
让我们首先创建一个表-mysql> create table DemoTable678(DueDate varchar(200));
使用insert命令在表中插入一些记录。我们在这里插入了日期-mysql> insert into DemoTable678 values('March 2019');
mysql> insert into DemoTable678 values('November 2018');
mysql> insert into DemoTable678 values('January 2019');
使用select语句显示表中的所有记录-mysql> select *from DemoTable678;
这将产生以下输出-+---------------+
| DueDate |
+---------------+
| March 2019 |
| November 2018 |
| January 2019 |
+---------------+
3 rows in set (0.00 sec)
以下是按日期排序的查询,该日期设置为varchar类型-mysql> select *from DemoTable678 ORDER BY STR_TO_DATE(DueDate, '%M %Y') DESC;
这将产生以下输出-+---------------+
| DueDate |
+---------------+
| March 2019 |
| January 2019 |
| November 2018 |
+---------------+
3 rows in set (0.00 sec)
这篇博客介绍了如何在MySQL中通过STR_TO_DATE函数对含有月份和年份的varchar类型日期字段进行降序排序。首先创建了一个名为DemoTable678的表,并插入了几条日期记录,然后使用SELECT语句结合STR_TO_DATE函数展示按日期排序的结果。
849

被折叠的 条评论
为什么被折叠?



