将SQL十进制字段粘贴到EXCEL中

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

我对excel和SQL的数据格式有疑问。

我在SQL中有一个列,其数据类型为DECIMAL(18,0),并且当我尝试将SQL结果粘贴到SQL中时。SQL结果的最后3位数字在Excel中被0替换。

示例

在SQL中,结果集具有称为会话ID的列,并具有类似119,597,417,242,309,670329,621,151,415,350,454134,460,940,261,658,890

...但是当我将其粘贴到Excel中时,数字看起来像

enter image description here

我尝试将EXCEL中的格式更改为粘贴为文本,但是,结果集的整个格式会失真(并且只有第一列正确粘贴了,没有0)。我不能继续将SQL中的所有字段都从十进制转换为int,因为字段太多。

您能指导我做些什么吗?

teradata teradata-sql-assistant
2个回答
1
投票
Excel中的数字字段限制为15位精度。

在SQL Assistant中,[下,您可以要求将大的十进制(和BIGINT)字段显示为文本,用于这种复制/粘贴。或者,您可以告诉SQL Assistant另存为或导出为Excel格式。

对于其他工具,您可以在SELECT中将数据显式格式化和转换为VARCHAR,以便将其作为文本检索。


0
投票

首先粘贴在文本编辑器(如记事本)中,在其中查找/替换,然后粘贴。

    将要粘贴的数据范围设置为“文本”,然后粘贴。之后,您可以搜索/替换,并更改为正确的格式。
  1. 更改Windows的区域设置以匹配您拥有的数据。
  2. 您可以通过SQL查询生成公式,而不是浮点数。因此,生成诸如=5/10的文本,而不是0.50,5。无论您使用的是什么区域设置,Excel都会正确地将其选中。
© www.soinside.com 2019 - 2024. All rights reserved.