列联表中看起来和行为都像日期的列无法正确排序

问题描述 投票:0回答:1

我调出了一个链接到数据库的 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 中的日期

sql-server excel pivot-table
1个回答
0
投票

您需要添加

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
© www.soinside.com 2019 - 2024. All rights reserved.