【发布时间】:2012-09-07 10:34:48
【问题描述】:
我通过 SSIS 将 Excel 文件导入 SQL-Server。我有一个临时表来获取 nvarchar 中的所有内容。然后,对于四列,我将字符串转换为货币类型并放入我的目标表中。
在我的临时表中,这四列之一让我称之为 X 有一个逗号作为分隔符,其余的有一个点。不要问我为什么,我的 SSIS 设置中的所有内容都是一样的。 在我的 Excel 中,分隔符也是逗号。
所以现在在我的目标表中,我的所有内容都以逗号值表示,但 X 列现在将逗号向右移动了两个位置,如下所示:
537013,00 而不是 5370,13,它是 temp 和 excel 列中的原始单元格值。
我认为这是一个文化设置问题,但又一次,它应该或不应该在所有这些列上工作。
a) 为什么当我的 Excel 显示逗号时,我的临时表中会收到点值?
b) 我该如何解决这个问题?我可以用点替换临时表中的“,”吗?
更新
我想我找到了原因,但没有找到解决方案:
在 excel 的这个 X 列中,前三个单元格是空的 - 其他三个列都以 0 开头。如果我用 0 填充这三个 X 单元格,那么我也会在我的临时表中得到点和正确的值我的目标表。但当然我必须按原样使用 Excel 文件。 有什么想法吗?
【问题讨论】:
标签: sql sql-server ssis delimiter