如何在sql中按升序选择日期(dd/mm/yyyy)

Ash*_*dav 0 mysql sql database date

我想在 ASC 订单中选择 stockDate 我的Table结构是:-

在此输入图像描述

Abh*_*rty 5

您已将日期保存为 varchar,它们是邪恶的,您应该使用 mysql 本机日期数据类型。

为此,您首先需要str_to_date在排序时使用函数将 varchar 日期转换为实际日期,这里是如何工作的

mysql> select str_to_date('31/07/2015','%d/%m/%Y') as d ;
+------------+
| d          |
+------------+
| 2015-07-31 |
+------------+
Run Code Online (Sandbox Code Playgroud)

所以查询变成

SELECT * from inventory_details 
ORDER BY str_to_date(stockDate,'%d/%m/%Y') desc
Run Code Online (Sandbox Code Playgroud)