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的主要内容,如果未能解决你的问题,请参考以下文章