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

Pasting SQL decimal fields into EXCEL

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

我在 SQL 中有一个数据类型为 DECIMAL(18,0) 的列,当我尝试将 SQL 结果粘贴到 SQL.. 最后 3 sql 结果的数字在 excel.

中被替换为 0

示例

在 SQL 中,结果集有一个名为 session id 的列,并且有十进制数字,例如 119,597,417,242,309,670
329,621,151,415,350,454
134,460,940,261,658,890

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

我尝试更改 EXCEL 中的格式以粘贴为文本,但是,结果集的整个格式都被扭曲了(只有第一列没有 0 被正确粘贴) 我无法继续将 SQL 中的所有字段从 decimal 转换为 int,因为字段太多了。

你能指导我做什么吗?

您可以做几件事。我会列出4个。 选择最适合你的。

  1. 首先在文本编辑器(如记事本)中粘贴,seach/replace然后粘贴。
  2. 将要粘贴的数据范围设置为 "text",然后粘贴。之后您可以search/replace,并更改为正确的格式。
  3. 更改 Windows 的区域设置以匹配您拥有的数据。
  4. 您可以从 SQL 查询中生成公式,而不是浮点数。因此生成像 =5/10 这样的文本而不是 0.50,5。 Excel 无论您的区域设置如何,都会正确拾取它。

Excel 中的数字字段精度限制为 15 位。

工具/选项/数据格式下的SQL助手中,您可以要求将大的十进制(和BIGINT)字段显示为此类副本的文本/ 粘贴。或者您可以告诉 SQL 助手另存为或导出为 Excel 格式。

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