Sql Import 向导将 1022868890 导入为 1.02287e+009

Posted

技术标签:

【中文标题】Sql Import 向导将 1022868890 导入为 1.02287e+009【英文标题】:Sql Import wizard imports 1022868890 as 1.02287e+009 【发布时间】:2008-11-25 00:40:08 【问题描述】:

我正在尝试将一些数据从 Excel 导入到 SQL Server,我有一个包含一些数字的 TEXT 列,其中一些数字很好,有些变成了科学形式。

Excel中的列是“文本”类型,目标sql表中的列是varchar(255)

这里有一些例子:

Excel [文本] -> SQL Server [varchar(255)] 0313852230 -> 0313852230 1024869004 -> 1024869004 1022868890 -> 1.02287e+009 1022868899 -> 1.02287e+009 1022868907 -> 1022868907 1030869319 -> 1030869319 1106869726 -> 1106869726 SomeText -> SomeText

请帮忙!

解决方案:将列格式化为带有 10 个前导零的 [Number] 对我有用,因为我的所有数字都是 10 位数字

【问题讨论】:

【参考方案1】:

您确定 Excel 的两个列都是文本,SQL 列是 VARCHAR?

我知道 SQL 以指数形式导入浮点列(这是正确的浮点表示)

【讨论】:

Excel只有1列,左边的数字来自Excel的THE SAME列,右边的数字是导入SQL Server的方式【参考方案2】:

导入 Access 时,我发现唯一可用于直接导入此类数字的列类型是 Zip(格式->单元格->特殊->邮政编码)。 SQL Server 也可能如此。

【讨论】:

列中的一些值是文本 我使用的是 OpenOffice,它没有 Zip 数据类型【参考方案3】:

解决方案:将列格式化为带有 10 个前导零的 [Number] 对我有用,因为我的所有数字都是 10 位数字

【讨论】:

【参考方案4】:

另一个提示,我更喜欢使用 SQL Server 2000 工具“导入和导出数据”或“DTS 导入/导出向导”

与 SQL Server 2005 导入工具相比,此工具的严格程度要低得多。我经常可以将数据导入到我的数据库中。

【讨论】:

以上是关于Sql Import 向导将 1022868890 导入为 1.02287e+009的主要内容,如果未能解决你的问题,请参考以下文章

将引导向导表单提交到 sql 数据库

将sql中dts向导集成到程序中

使用导入和导出向导将平面文件导入 SQL Server

如何将sql文件转换为csv文件?

使用导入导出向导将数据从 Excel 导入 Sql Server 时,如何更改列的默认 varchar 255?

使用 JSON 的 Django 导入向导