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