我的用户定义函数中有以下代码行:
declare @annualStr varchar(30)
declare @annual float
begin try
set @annualStr = dbo.GetXMLValues(@businessId,@id)
set @annual = convert(float,isnull(@annualStr,'0'))
end try
begin catch
set @annual = 0
end catch
来自的值dbo.GetXMLValues
可能是一个varchar
值,所以我需要使用 try catch 块将值转换为float
..
但是它会抛出一个错误说..在UDF中使用try catch块是无效的
为什么??以及如何将varchar
价值转换float
为未知时