我有一个表,其中一列的类型为numeric(18,9)
。我试图从csv文件批量插入此表。请注意,csv
文件和表之间的列匹配。
csv中的一栏有一些数字,格式为: 3E-4 , 45E-2 等(E
是力量的象征。)
尝试将数据批量插入SQL表时,我收到该特定列的there is a type mismatch
错误。该错误肯定是由格式化为例如任何数字的数字引起的。 5E-4
。
N.B:使用type()
检查excel中的列类型时,所有单元格返回1 - >这意味着该列在numeric
文件中的类型为csv
。
有什么方法可以克服这个错误吗?
谢谢,
答案 0 :(得分:0)
也许您可以尝试通过两个步骤完成此操作。首先将数据导入到其他所有数字列都是varchar类型的表中,然后将其转换为十进制并插入到另一个表中。
select CONVERT(decimal(18,9), CONVERT(float, '3E-4'))