批量插入字段,然后将其从CHAR转换为DECIMAL

问题描述:

我正在使用批量插入从CSV文件导入数据。其中一个字段是一个数字,我将它作为DECIMAL(4,3)导入。但是,这个数据文件有一些值为“3.2342e-05”的值。这显然会引发错误,因为这是一个字符。我怎样才能将这个数字转换为零?就我的目的而言,我打算考虑任何小到零的数字。批量插入字段,然后将其从CHAR转换为DECIMAL

我想我会先将数据导入临时表(临时表),以便我可以在那里清理它,然后我将从那里将它插入到我的最终表中。

SQL Server 2008中

编辑:有一件事我正在考虑是进口数据作为字符,然后将列的类型,然后使用CASE语句设置为零任何大于1。这个字段永远不能大于1,这就是为什么我能够做到这一点。

这是公认的浮动,所以你可以通过浮动

+0

在这种情况下翻番CAST,我将导入它作为一个真正的,然后将其转换为十进制(4,3)。 – eek142 2012-02-24 13:59:09