我正在从 Excel 电子表格导入创建的表中复制数据。
这是我将数据从导入表移动到实际表的操作:
INSERT INTO TableName ([Column1], [Column2])
SELECT [Column1], [Column2] FROM [Sheet1$]
在第 1 列下执行此操作后,我得到如下记录:
5.31752e+007
当该记录的实际值(来自我从中导入的表)是5046610163
有任何想法吗?
我正在从 Excel 电子表格导入创建的表中复制数据。
这是我将数据从导入表移动到实际表的操作:
INSERT INTO TableName ([Column1], [Column2])
SELECT [Column1], [Column2] FROM [Sheet1$]
在第 1 列下执行此操作后,我得到如下记录:
5.31752e+007
当该记录的实际值(来自我从中导入的表)是5046610163
有任何想法吗?
您没有指定其中包含浮点数据的是 Column1 还是 Column2,但这里有一个示例,假设 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)))
INSERT INTO TableName ([Column1], [Column2])
SELECT UPPER([Column1]), [Column2]
FROM [Sheet1$]
编辑
好的 - 然后尝试首先打开您的 Excel 工作表,创建第三列,并将其设为公式 (=UPPER(A1)),其中 A1 实际上是您遇到问题的任何列。
除此之外,如果您在 Excel 帮助中搜索“科学记数法”,您也会在那里获得一些有限的建议。
编辑 2
或者在 TSQL 中试试这个:
INSERT INTO TableName ([Column1], [Column2])
select LTRIM(str(cast([Column1] as real))), [Column2]
FROM [Sheet1$]