我有这个问题:
CASE ClaimsFees.TBA
WHEN 0 THEN CAST(IndemnityReserve AS NUMERIC(9,2))
ELSE 'TBA'
END AS 'Reserve Indemnity'
但我总是得到这个错误:
将数据类型varchar转换为数字
时出错
我曾尝试将TBA转换为数字,但我无法执行此操作,我也无法将所有结果转换为varchar
,因为当我转移到Excel文件时,数字为1.325,27使用##,## 0.00格式变为132.527,00。
SQL Server中是否有可用于解决此问题的方法?
答案 0 :(得分:2)
该列只能有一种类型,而且“TBA”只能是一个字符串,您还需要将数字设为字符串。
CASE ClaimsFees.TBA WHEN 0
then cast(cast(IndemnityReserve as NUMERIC(9,2)) as varchar(12))
else 'TBA'
end as 'Reserve Indemnity',