我将$5.99
'(或尝试插入)等值插入money
字段。它不喜欢美元符号
我实际上正在从csv文件中进行批量插入。 csv文件中的一列中包含money
美元符号
是否可以帮助我找出如何使用$
符号进行批量插入到money
字段?
Msg 4864, Level 16, State 1, Line 1
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 2 (pricepaid).
我如何摆脱这个标志?
答案 0 :(得分:5)
根据这个问题,以及您之前的问题here和here,我建议您将批量插入到临时保留表中,您可以在其中定义“钱”字段作为varchar。然后编写另一个SQL语句将数据从保存表移动到真实表。在此SQL语句中,您可以跳过不需要的列,从“money”字段中删除“$”并将其转换为货币数据类型等。
答案 1 :(得分:3)
不,您不能将货币符号插入货币领域。
它实际上只是一个带有友好名称的小数(19,4)。
答案 2 :(得分:3)
作为一种解决方法,您可以创建一个与目标具有相同架构的表,使用varchar列而不是money,并批量插入其中。然后更新导入的表以删除'$'并将数据复制到原始目标。
答案 3 :(得分:2)
你不能,Money只是一种比十进制略灵活的数字类型。使用符号存储您必须使用varchar
答案 4 :(得分:0)
其他人建议临时表。如果您使用临时表来保存CSV文件中的原始数据,则应该能够从包含$字符的Money
或Varchar
字段直接转换为Char
(即,不删除它。)
这在SQL 2008中对我有用。