我将日期存储在数据库的 DATETIME
字段中。当我创建一个 select 语句时,我需要以 '%d-%m-%Y'
格式显示它,但我在按日期排序数据时遇到了问题。
这是我的选择声明:
SELECT
DATE_FORMAT(Date,'%d-%m-%Y') AS Date
FROM Purchase
WHERE Date BETWEEN '2019-02-01' AND '2019-06-30' ORDER BY Date asc;
但是数据没有按日期排序。我该如何解决这个问题?
最佳答案
如果您对列日期和格式化日期使用相同的名称,那么别名列的工作顺序 .. 按照您的格式按日、月、年排序 ('%d-%m-%Y ')
然后尝试更改别名
SELECT DATE_FORMAT(Date,'%d-%m-%Y') AS My_Date
FROM Purchase
WHERE Date BETWEEN '2019-02-01' AND '2019-06-30'
ORDER BY Date asc;
或按格式使用正确的顺序
SELECT DATE_FORMAT(Date,'%d-%m-%Y')Date
FROM Purchase
WHERE Date BETWEEN '2019-02-01' AND '2019-06-30'
ORDER BY DATE_FORMAT(Date,'%Y-%m-%d') asc;
关于mysql - 当 select 语句中给出格式 'dd-MM-YYYY' 未按预期工作时按日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56672476/