excel 链接 sql 服务器查询上的 sumifs 日期

sumifs on excel linked sql server query with date

当使用日期列作为条件时,我无法对 linked 到 MS SQL 服务器 2008R2 视图的单元格范围执行求和或计数。

如果它是在本地 table link 上完成的,它们工作正常,但看起来查询以文本形式提供日期,所以..

缺少要复制和转换的 运行 宏(这有点违背实时 link 的目的),任何人都可以在服务器或 excel 端提供解决方法?

干杯

有趣的是,Excel 无法识别 SQL 的数据类型 date。如果您希望 Excel 将其识别为日期,则必须将其转换为 datetime。因此,如果您在查询中使用强制转换将日期字段转换为日期时间,那么 Excel 将识别并处理它。

这是因为 Excel 与自 2008 版以来的 SQL 不同 – 无法区分日期和时间。 如果您选择在单元格中输入日期并将其格式化,那么它仍然是 datetime 到 Excel,如果您将该单元格重新格式化为带时间的日期,您会看到 Excel 自动假定时间为 00:00:00(午夜)。当您仅输入一个时间时,这同样适用。在这种情况下 Excel 将自动假定 00.01.1900 作为基础“日期”。 原因是所有 datetime 都作为数字存储在 Excel 中。小数点之前的任何内容是 00.01.1900 和您要存储的日期之间的差异,而冒号之后的任何内容代表一天中的时间。由于任何 Excel 单元格中的所有数字可能在冒号前后都有一个数字,因此只有 datetime。 数字 42.000 表示 00.01.1900 之后的第 42.000 天,相当于 2014 年 12 月 27 日和午夜时间,而数字 42.000,75 表示一天的 75% 已经结束:0,75 * 24 小时 = 6PM = 18:00:00(军用时间)2014 年 12 月 27 日。