oracle和db2的to_number有什么不同

oracle和db2的to_number有什么不同,第1张

没区别

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数据库中字段转换,找出一列中不可转为数字的行、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9324757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存