【发布时间】:2012-08-28 22:17:54
【问题描述】:
我有一个 excel 文件,其中三列都是空的(从上到下),需要作为浮点数或货币导入到 sql server 表中。这些列的其他 excel 文件包含带两位小数的值。由于我无法将空白单元格导入数字列,因此我在派生列组件中使用 LEN(TRIM(F11)) > 1 ? (DT_R8)F11 : 0 在 db 列中写入 0。
但现在当我导入其他带有值的 Excel 文件时,我得到的值类似于 8,4971E+20 而不是 849,71。
我可以更改表达式来解决这个问题还是涉及其他问题?
另外,我想在 db float/money 列中插入 NULL,而不是写入“0”。
希望你能帮我解决这个问题。
更新:让我换一种方式试试:
我在那些空的 excel 列中有一个 if 表达式,如果另一张表的值不是数字,它将不会在单元格内放置任何内容。
如果我可以使用“else”语句向每个单元格插入一个数值,或者可能为 NULL,我可以直接作为浮点数导入。我尝试将 '0' 或 'NULL' 放在 else 语句中,但我想由于它们周围的引号,它们将被解释为字符串。
对此有什么想法吗?
【问题讨论】:
标签: sql-server excel ssis trim ssis-data-types