【问题标题】:SQL data import in Pivot Table, wrong datatype数据透视表中的 SQL 数据导入,错误的数据类型
【发布时间】:2015-08-05 08:34:55
【问题描述】:

使用 Excel 2013 Standard 和 SQL Server 2008 R2。

我用这个连接创建了一个数据透视表:

DRIVER=SQL Server Native Client 10.0;SERVER=sqlserver;
       UID=xxx;PWD=yyy;APP=Microsoft Office 2013;
       WSID=CVH2014021;DATABASE=VH_Datawarehouse;

SELECT [Klantnummer]
      ,cast([Faktuurdatum] as datetime) as 'Faktuurdatum'
      ,[Grootboek_Transactie]
      ,[Grootboek_BTW]
      ,[Kostenplaats_Transactie]
      ,[LitersGetankt]
      ,[Netto_Euro_bedrag]
      ,[BTW_Euro_bedrag]
FROM [VH_Datawarehouse].[dbo].[ds_Selectie_Aanlevering_Tankgegevens]
WHERE (Faktuurdatum >= dateadd(dd,-120,getdate()))
  and GegevensBron = 'Shell'

Grootboek_Transactie / Grootboek_BTW / Kostenplaats_Transactie 列都是 int 字段,但在 Excel 中它们显示为货币字段。我可以将 Excel 中的列更改为标准或值,但在刷新连接后,这些列会变回货币值。

我将驱动程序名称从 SQL Server 更改为 SQL Server Native Client 10.0,因为这可能会产生影响,但我的日期时间字段 Faktuurdatum 也会显示为货币。

我该如何解决这个问题。

解决了作为货币部分的值。 它也适用于日期部分,但 Excel 不会将其视为日期,而是视为文本。

【问题讨论】:

  • 您是如何在 Excel 中设置格式的?如果你去Field Settings->Number Format,刷新后应该保留这个设置。
  • 勾选或取消勾选此字段无效。

标签: sql-server excel sql-server-2008 excel-2013


【解决方案1】:

试试这个,希望对你有用

select * ,
  REPLACE(
    REPLACE(
      REPLACE(
        REPLACE(
          REPLACE( Grootboek_Transactie ,CHAR(9),' ')
        ,CHAR(13),' ')
      ,CHAR(10),' ')
    ,CHAR(32),' ')
  ,CHAR(34),' ') AS Grootboek_Transacti_1

【讨论】:

    【解决方案2】:

    现在在您的 SQL 输出中,您有最后一列 Grootboek_Transacti_1 ,,,,将其粘贴到 Excel 中。它将保持原样。(预计没有货币转换)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-06
      相关资源
      最近更新 更多