我正在从 Excel 电子表格导入创建的表中复制数据。
以下是我将数据从导入表移动到实际表的操作:
INSERT INTO TableName ([Column1], [Column2])
SELECT [Column1], [Column2] FROM [Sheet1$]
在第 1 列下执行此操作后,我得到如下记录:
5.31752e+007
当该记录的实际值(来 self 从中导入的表)为 5046610163
有什么想法吗?
最佳答案
您没有指定是 Column1 还是 Column2 包含 float 据,但这里有一个示例,假设 Column1 就是您所需要的。
INSERT INTO TableName ([Column1], [Column2])
SELECT CAST([Column1] AS decimal(38,2)), [Column2] FROM [Sheet1$]
我经常使用相同的代码转换为 varchar,而无需进行所有格式设置:
SELECT CONVERT(varchar(100), CAST(@value as decimal(38,2)))
关于SQL Server : How can I copy data from one table to another table without the characters 'e+' being added to the results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7263271/