将 Varchar 转换为货币

Ras*_*bib 3 sql-server sql-server-2008 money-format

我正在尝试将一varchar列转换为货币,但我不断收到此错误

不允许从数据类型 varchar 隐式转换为 money。使用 CONVERT 函数运行此查询。

我没有像错误提示的那样使用转换函数吗?

Select
    tellerID,
    SUM(CASE 
           WHEN CONVERT(money, value1) IS NULL THEN '0' 
           ELSE CONVERT(money, value1) 
        END) AS [Total Value 1]
From 
    intakedrawer
Group By 
    tellerID
Order By 
    tellerID
Run Code Online (Sandbox Code Playgroud)

Rah*_*thi 5

像这样尝试:

Select
tellerID,
SUM(CASE WHEN IsNumeric(value1) = 0 THEN 0 
       ELSE CAST(value1 AS decimal(18, 2)) 
END) as [Total Value 1]
From intakedrawer
Group By tellerID
Order By tellerID
Run Code Online (Sandbox Code Playgroud)