详细讲解Oracle中isnumeric的三种实现
2015-09-28 16:37
615 查看
许多用过ASP的朋友对isnumeric函数都有一定的了解,这是一个常用的判断入参是否为数字的函数。而在Oracle中没有现成的判断是否为数字函数,下面我们就来介绍一下如何用三种方法来将其实现:
1. 利用 to_number
CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
RETURN NUMBER
IS
v_str FLOAT;
BEGIN
IF str IS NULL
THEN
RETURN 0;
ELSE
BEGIN
SELECT TO_NUMBER (str)
INTO v_str
FROM DUAL;
EXCEPTION
WHEN INVALID_NUMBER
THEN
RETURN 0;
END;
RETURN 1;
END IF;
END isnumeric;
2. 利用 regexp_like
CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
RETURN NUMBER
IS
BEGIN
IF str IS NULL
THEN
RETURN 0;
ELSE
IF regexp_like (str, '^(-{0,1}+{0,1})[0-9]+(.{0,1}[0-9]+) 本文作者:未知
1. 利用 to_number
CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
RETURN NUMBER
IS
v_str FLOAT;
BEGIN
IF str IS NULL
THEN
RETURN 0;
ELSE
BEGIN
SELECT TO_NUMBER (str)
INTO v_str
FROM DUAL;
EXCEPTION
WHEN INVALID_NUMBER
THEN
RETURN 0;
END;
RETURN 1;
END IF;
END isnumeric;
2. 利用 regexp_like
CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
RETURN NUMBER
IS
BEGIN
IF str IS NULL
THEN
RETURN 0;
ELSE
IF regexp_like (str, '^(-{0,1}+{0,1})[0-9]+(.{0,1}[0-9]+) 本文作者:未知
相关文章推荐
- Oracle中如何用SQL检测字段是否包括中文字符
- PL/SQL连接oracle配置
- TSM备份Oracle报错(rman-06012,ANR1401W)
- ORACLE数据泵
- oracle中位图索引和B-tree索引的区别
- ecs使用脚本安装oracle
- Oracle字符集碰到JAVA
- 规划oracle数据库的安装
- Oracle数据库升级(10.2.0.4->11.2.0.4)
- Oracle 动态语句小例 Trim表中栏位 (不积跬步,无以至千里)
- ORACLE学习之九 Oracle 字符集的查看和修改 (转帖)
- Oracle根据SQL_ID批量收集真实执行计划
- oracle锁表
- oracle索引的理解
- 发现一个oracle11 g 新特性挺有意思
- 【oracle ocp 知识点二】
- Oracle之分析函数、开窗函数
- Oracle 触发器语法及实例
- 电信云存储非root用户(oracle)挂载
- oracle PGA(process global area)初探