CREATE TABLE [dbo].[tblBSP](
    [OS_PESO] [varchar](100) NULL
) ON [PRIMARY]
GO


我的表名tblBSP带有列OS_PESO。现在,我必须为BULK INSERT设置OS_PESO值。 OS_PESO列的值如下所示:

58,083.15
2,000,000.00
(2,004.84)


我有以下错误:


  无法将char值转换为金钱。 char值的语法不正确。


我见过类似的问题,因此,我尝试了这些,但似乎不起作用。

update tblBSP
set OS_PESO = (select convert(money,replace(OS_PESO,',','')))

--or

update tblBSP
set OS_PESO = (select CAST(isnull(OS_PESO,0) as money))

--or

update tblBSP
set OS_PESO = (SELECT CONVERT(varchar, CONVERT(money, OS_PESO), 1 ))


谢谢。 ^^

最佳答案

你可以用它来铸造

更新tblBSP
设置OS_PESO =(选择CAST(OS_PESO AS十进制(18,2)))

09-26 03:46