-1
我有低于这个简单的查询(SQL Server数据库),我不知道为什么我得到一个错误VARCHAR到数字转换错误
错误的数据类型为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)
你使用的是什么确切的数据库系统(和哪个版本)? SQL只是查询语言 - 被许多数据库使用 - 并没有真正告诉我们你正在使用的数据库产品**(MySQL?Postgres?IBM DB2?Oracle?SQL Server?Firebird?) –
只尝试做一次一列,直到找到有问题的列 –
数据库软件是否具有“IsNumeric()”功能? – HABO