我在下面有这个简单的查询(SQL Server 数据库),但我不确定为什么会出现错误
将数据类型 varchar 转换为数字时出错。
所有的数据类型都是decimal
. 我的转换不正确吗?任何帮助表示赞赏。
SELECT
RTRIM(year_time) AS year_time ,
actual = CASE actual
WHEN '.00' THEN 0
WHEN '' THEN 0
ELSE CAST(actual AS NUMERIC(18, 2))
END ,
end_balance = CASE end_balance
WHEN '.00' THEN 0
WHEN '' THEN 0
ELSE CAST(end_balance AS NUMERIC(18, 2))
END ,
RTRIM(fund_code) AS fund_code ,
RTRIM(function_code) AS function_code ,
RTRIM(object_code) AS object_code ,
RTRIM(source_code) AS source_code ,
RTRIM(balance_sheet_code) AS balance_sheet_code
FROM
dbo.raw_ledger WITH (NOLOCK)