我需要编写一个UDF,它将尝试将varchar转换为bigint,如果失败,则返回该bigint或零。问题是-当字符串不是有效数字时,我找不到使沉默转换错误的方法。 TRY CATCH在函数内部不起作用,我不知道该怎么办。
最佳答案
尝试这个:
Create Function dbo.Convert2BigInt(@Data VarChar(100))
Returns BigInt
As
Begin
Return(Case When IsNumeric(@Data + '.0e0') = 1
Then Convert(BigInt, @Data)
Else Convert(BigInt, 0)
End)
End
关于tsql - 如何使UDF中的错误静音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4209114/