varchar to decimal - error with convert()



我有超过 17,000 个 Excel 工作表需要打开并从 sql 数据库中提取信息并存储在 sql 数据库中。只要 sql 数据类型varchar,这一切都可以正常工作。

我想将此varchar转换为decimal,因此数据一旦移动到流程的下一阶段就更容易处理。这是我得到的错误:

使用"0"参数调用"ExecuteNonQuery"的异常:"将数据类型 varchar 转换为数字时出错"。

这是我的 sql 语句中的值。代码脚本位于 PowerShell 中。也许这是一个简单的语法错误。它确实可以在没有转换位的情况下工作。

convert(decimal(9,2),'"+$WorkSheet.Range('H49').Text.replace("'","''").replace(" ","").replace("$","")+"' )

我的数据看起来像"$ 10,210.23",我正在过滤它看起来像"10,210.23"。它无法转换,因为逗号显然不是数字。除了空格和 $ 符号之外,过滤掉它后,它的工作方式就像我预期的那样。谢谢大家。

最新更新