在 sql server 中,我试图从一个表中选择插入数据到另一个表中。代码如下:
Insert into TABLE2 (
Id, document_id
) select id, document_id from TABLE1
这两个表基本相同。文档 id 字段位于 nvarchar50 中,因为我们偶尔会得到带有字母的值。
我怎样才能让这些作为数值插入,而不是科学记数法?
谢谢!
在 sql server 中,我试图从一个表中选择插入数据到另一个表中。代码如下:
Insert into TABLE2 (
Id, document_id
) select id, document_id from TABLE1
这两个表基本相同。文档 id 字段位于 nvarchar50 中,因为我们偶尔会得到带有字母的值。
我怎样才能让这些作为数值插入,而不是科学记数法?
谢谢!
我假设其中的列table1有一些varchar变体,并以科学计数法保存数字。您可以尝试将它们转换为real(如有必要,可以转换为其他数字或varchar变体形式)。
INSERT INTO table2
(id,
document_id)
SELECT convert(real, id),
convert(real, document_id)
FROM table1;
这似乎是一个 Excel 问题,其中 Excel 将文档 ID 视为数字而不是文本。Excel 的数字格式可能会破坏信息,因为相同的数字可以用不同的方式表示。例如,原始格式是500.2什么?是0500.200,000000000500.20还是别的什么?此外,Excel 甚至可能舍弃小数,例如“5023423423423450”显示为“5.02342E+15”。无法在 SQL 中恢复此信息。
您必须通过以下任一方式在 Excel 中处理此问题
') 的文档 ID,以告诉 Excel 不要以某种方式解释它或通过
Text 之前格式化文档字段。