在MySQL中使用varchar类型设置的日期排序
为此,请按照以下语法在MySQL中使用ORDERBYSTR_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)