SELECT top 1
case
when VR = -99999.99
then 0
else cast((VR*1.732) as decimal(38,3))
end
FROM pseb.dbo.datasource
where FeederID=5003
order by datetime desc
上面的查询工作正常,但我需要返回 varchar 值 '--' 而不是返回 0
如果我喜欢那样
SELECT top 1
case
when VR = -99999.99
then '--'
else cast((VR*1.732) as decimal(38,3))
end
FROM pseb.dbo.datasource
where FeederID=5003
order by datetime desc
意味着它返回以下错误:
消息 8114,级别 16,状态 5,第 1 行将数据类型 varchar 转换为数字时出错。
请帮我解决它