0

ユーザー定義関数に次のコード行があります。

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

4

2 に答える 2