没区别
DB2:values to_number('-1') ;
---------------
-1
values to_number('+1') ;
---------------
1ORACLE:
select to_number('-1') from dual;
---------------
-1
select to_number('+1') from dual;
---------------
1
oracle中没有现成的方法判断数据是否是数字类型的的,可以通过function来实现:
CREATE OR REPLACE FUNCTION isnum (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 isnum;
扩展判断一列的数据类型是不是数值类型:
select from 表 where not regexp_like(列名,'^[[:digit:]]+$');
以上就是关于oracle和db2的to_number有什么不同全部的内容,包括:oracle和db2的to_number有什么不同、oracle数据库中字段转换,找出一列中不可转为数字的行、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)