我在按正確順序對資料進行排序時遇到問題。我嘗試了幾種不同的組合,但它們都以錯誤的方式回傳資料。日期列采用datetime格式。我嘗試過的一些代碼:
SELECT CONVERT(VARCHAR(10), recievedDate, 104) as day
FROM table
GROUP BY CONVERT(VARCHAR(10), recievedDate, 104)
ORDER BY CONVERT(VARCHAR(10), recievedDate, 104)
回傳資料為:
01.02.2021
01.03.2021
01.04.2021
02.02.2021
02.03.2021
...
我試過了:
SELECT FORMAT(CONVERT(DATETIME, CONVERT(VARCHAR(10), recievedDate, 121)),'dd.MM.yyyy')
FROM table
GROUP BY FORMAT(CONVERT(DATETIME, CONVERT(VARCHAR(10), recievedDate, 121)),'dd.MM.yyyy')
ORDER BY FORMAT(CONVERT(DATETIME, CONVERT(VARCHAR(10), recievedDate, 121)),'dd.MM.yyyy')
回傳相同的結果。
但我想要的是:
01.01.2021
02.01.2021
03.01.2021
01.02.2021
等等。我真的不知道為什么它把所有的月份都分組然后按天訂購。
uj5u.com熱心網友回復:
集團datetime通過轉換為date和格式的日期后分組:
SELECT CONVERT(VARCHAR(10), CONVERT(date, recievedDate), 104)
FROM t
GROUP BY CONVERT(date, recievedDate)
ORDER BY CONVERT(date, recievedDate)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/374187.html
標籤:sql 查询语句 约会时间 sql-order-by
