-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