![]() |
1
3
如果你想的话 验证 在pl/sql中将varchar2字段作为数字,通常您只需尝试将其转换为数字并捕获异常。
您还可以在代码中间嵌套一个begin..end块,以便捕获异常,如果这样更适合您:
|
![]() |
2
3
无法捕获无效数字异常的原因是您将输入参数声明为数字。当您调用函数时,oracle首先尝试将字符串转换为数字(当然,它失败了, 在输入你的代码之前 )中。 如果将输入参数更改为varchar2,那么将在函数内部完成到数字的转换(在本例中是隐式的),并且可以根据需要捕获和处理无效的数字(这里我只是返回一个不同的字符串来表示问题):
用法示例:
输出:
|
![]() |
3
0
解决方案:
|
![]() |
maddy · 如何根据oracle SQL中的某一列值进行排名 2 年前 |
![]() |
kiric8494 · 显示以元音开头和结尾的城市名称 2 年前 |
![]() |
Franz Biberkopf · Oracle:组合子查询和聚合函数 3 年前 |
![]() |
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 3 年前 |
![]() |
Arifullah · 如何从oracle中的列中删除特定的初始字符? 3 年前 |
![]() |
Anar · Oracle SQL用户定义函数 3 年前 |
![]() |
user1312312 · 如何为一组表编写通用触发器? 3 年前 |