我有超过 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"。它无法转换,因为逗号显然不是数字。除了空格和 $ 符号之外,过滤掉它后,它的工作方式就像我预期的那样。谢谢大家。