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

 收藏

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

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

在SQL中,结果集具有称为会话ID的列,并具有十进制数字,例如 119,597,417,242,309,670 329,621,151,415,350,454 134,460,940,261,658,890

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

enter image description here

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

您能指导我做什么吗?

回复
  • 您可以做的几件事。我列出4。 选择最适合您的东西。

    1. First paste in a text editor (like notepad), seach/replace there, and paste that.
    2. Set the datarange where you're going to paste to "text", and then paste. After that you can search/replace, and change to the correct format.
    3. Change the regional settings of Windows to match the data that you have.
    4. You can generate formula's from your SQL query, instead of floating point numbers. So generate a text like =5/10 instead of 0.5 or 0,5. Excel will pick it up correctly regardless of your regional settings.

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

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

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