oracle如何判断是否数字 oracle怎么判断是否都是数字-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

oracle如何判断是否数字 oracle怎么判断是否都是数字

oracle 中怎么判断是否为数字?

CREATE OR REPLACE Function Isnumeric(Str In Varchar2)\x0d\x0a\x0d\x0a Return Number\x0d\x0a\x0d\x0a Is\x0d\x0a\x0d\x0aBegin\x0d\x0a\x0d\x0a If Str Is Null\x0d\x0a \x0d\x0a Then\x0d\x0a \x0d\x0a Return 0;\x0d\x0a \x0d\x0a Else\x0d\x0a \x0d\x0a If Regexp_Like(Str, '^(-{0,1}+{0,1})[0-9]+(.{0,1}[0-9]+)$') --数值\x0d\x0a \x0d\x0a /*(str, '^[0-9]*[1-9][0-9]*$') --正整数*/\x0d\x0a \x0d\x0a Then\x0d\x0a \x0d\x0a Return 1;\x0d\x0a \x0d\x0a Else\x0d\x0a \x0d\x0a Return 0;\x0d\x0a \x0d\x0a End If;\x0d\x0a \x0d\x0a End If;\x0d\x0a\x0d\x0aEnd Isnumeric;\x0d\x0a\x0d\x0a创建上面的函数,然后判断返回值是否是1,1则表示是数值,0则表示非数值

创新互联是一家专注于成都网站设计、网站制作和成都移动服务器托管的网络公司,有着丰富的建站经验和案例。

oracle判断是否是数字

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]+)$')

THEN

RETURN 1;

ELSE

RETURN 0;

END IF;

END IF;

END isnumeric;

3. 自定义过程,利用 TRANSLATE函数实现

CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)

RETURN NUMBER

IS

v_str VARCHAR2 (1000);

BEGIN

IF str IS NULL

THEN

RETURN 0;

ELSE

v_str := TRANSLATE (str, '.0123456789', '.');

IF v_str = '.' OR v_str = '+.' OR v_str = '-.' OR v_str IS NULL

THEN

RETURN 1;

ELSE

RETURN 0;

END IF;

END IF;

END isnumeric;

oracle sql判断是否数字?

可以用oracle自带的正则表达式函数REGEXP_REPLACE把数字全部取出来,然后计算数字的长度是否等于这个字段的长度,如果等于的话说明这个值全部是数字,如果不等于的话说明值里面包含非数字,测试语句如下:

SELECT(REGEXP_REPLACE('LSS12345', '[^0-9]')) FROM DUAL;---取出值里面的全部数字

SELECT LENGTH('LSS12345'),LENGTH(REGEXP_REPLACE('LSS12345', '[^0-9]')) FROM DUAL; ---查询出字段的长度和字段内数字的长度

SELECT* FROM DUAL  WHERE LENGTH('LSS12345') = LENGTH(REGEXP_REPLACE('LSS12345', '[^0-9]')) ;  ----查询这个字段所有的纯数字列

oracle如何判断某个字段的值是不是数字

1、创建测试表,

create table test_isnum(id number, value varchar2(20));

2、插入测试数据,

insert into test_isnum values(1,'a');

insert into test_isnum values(2,329);

insert into test_isnum values(4,'15');

insert into test_isnum values(6,'2c');

commit;

3、查询表中所有记录,select t.*, rowid from test_isnum t,

4、编写sql,判断value字段,记录为数字的内容,

select t.*,

 case

   when not regexp_like(value, '\D') then

    '是'

   else

    '否'

 end as "是否数字"

from test_isnum t;


分享文章:oracle如何判断是否数字 oracle怎么判断是否都是数字
文章位置:http://kswsj.cn/article/hehdpj.html

其他资讯