tsql - 如何使UDF中的错误静音?

标签 tsql error-handling user-defined-functions

我需要编写一个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/

相关文章:

sql - 混淆/屏蔽/打乱个人信息

SQL Server : change first day of week to Sunday using DATEPART with ISOWK parameter

java - 引用数组引发与扫描仪有关的错误

javascript - 保留原始外壳的自定义不区分大小写的排序功能?

excel - 为范围内的每个单元格返回 "too low"、 "too high"或 "OK"的函数

tsql - 如何通过避免扫描空值来减少索引扫描

sql-server - 是否有替代 SET STATISTICS TIME 的方法也显示语句?

xcode - 无法调用非功能类型 '[Item]'的值

php - PHP忽略特定的编译错误

arrays - pandas_udf 对两个 ArrayType(StringType()) 字段进行操作