varchar转换为十进制-convert()

时间:2018-09-21 13:05:30

标签: sql excel powershell

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

我想将此varchar转换为decimal,因此一旦移至流程的下一阶段,数据将更易于使用。这是我得到的错误:

  

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

这是我的sql语句中的值。该代码脚本在PowerShell中。也许这是一个简单的语法错误。没有转换位就可以工作。

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

1 个答案:

答案 0 :(得分:0)

我的数据看起来像“ $ 10,210.23”,我正在向下过滤看起来像“ $ 10,210.23”。由于逗号,回头显然不是数字,因此转换失败。在除掉空格和$符号之后,将其过滤掉,就像我期望的那样。谢谢大家。