【问题标题】:Excel pivot not recognising converted date from SQL as a date fieldExcel 数据透视表无法将 SQL 转换后的日期识别为日期字段
【发布时间】:2017-08-25 09:46:33
【问题描述】:

我以前也遇到过类似的日期问题。 我正在查询将日期存储为字符串“YYYYMMDD”的专有 CMS 数据库。

我正在使用...

convert(varchar(10),right(VarCompletionDate,2)+'/'+substring(VarCompletionDate,5,2)+'/'+left(varCompletionDate,4), 103)

转换为“DD/MM/YYYY”格式。在 SQL 方面,这 似乎 可以工作,但在 Excel 中,日期被视为字符串而不是日期,并且我没有得到使用适当日期字段获得的日期过滤器。 .

我在这里做错了什么? convertconverting to 是 varchar 而不是日期? ...如果我这样做 Convert(date,... 我会收到转换错误。

【问题讨论】:

    标签: sql-server excel date pivot-table


    【解决方案1】:

    在 excel 中,您可以选择一个数据单元格并确认该数据没有撇号作为后缀。 这迫使 excel 将数据视为文本。如果您确实找到了,请在您选择的数据范围内查找并替换所有内容。

    如果没有撇号,请选择您的数据并转到主页>数字>格式下拉菜单,然后选择长日期或短日期作为格式类型。 这将打开日期过滤器。

    【讨论】:

    • 这适用于连接到 SQL 数据源的数据透视表 - 问题是 Excel 无法识别已使用 Convert 从文本转换的数据字段。无法更改数据透视表中的日期格式,因此日期需要采用 SQL 中可识别的格式。
    【解决方案2】:

    设法找到答案!

    Convert(date,....) 从 SQL 输出日期格式是否正确。 除非我重新创建了数据透视表,否则数据透视表在刷新后不会将该字段识别为日期 - Excel 中一定存在某种数据类型持久性。

    【讨论】:

      猜你喜欢
      • 2014-12-12
      • 2023-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多