我调出一个链接到数据库的Excel数据透视表。其中有一列的日期格式为dd.mm.yyyy。该列被识别为日期,可以在短日期、长日期和时间之间切换。它还显示从最老到最新的顺序,而不是从A到z。但是当我想对这列进行排序时,它不能正确排序。例如,当我从最新日期到最旧日期排序时,日期以以下顺序出现:
30.01.2023
25.05.2022
01.09.2022
01.09.2022
12.12.2022
12.12.2022
30.01.2023
30.01.2023
02.11.2021
05.01.2022
25.05.2022
27.06.2022
18.10.2022
没有意义。你知道问题出在哪里吗?我可以上传一个SQL查询链接到这个表,如果它有帮助。谢谢你的建议:-)
例如,我试图通过
从问题列中再添加一列CONVERT(varchar, CAST(sd.posting_date as datetime), 104) AS "Invoice date"
然而,这也没有帮助。因此,无法将此列切换到Excel
中的日期您需要添加ORDER BY
以按如下方式对它们进行排序:
在order by
中,数据类型应该是datetime
select CONVERT(varchar, CAST(sd.posting_date as datetime), 104) AS "Invoice date"
from mytable sd
order by convert(datetime, sd.posting_date, 104) desc