ORACLE 判断是否为数字类型
Posted 迷影遮忆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE 判断是否为数字类型相关的知识,希望对你有一定的参考价值。
接到一个需求要判断一个varchar2字段的值是否是数字,如果不是数字,就置为null,如果是数字,就使用to_number把它变成num类型。
找到两种办法。
方法一:
用trim和translate来判断,这种方法比较麻烦,代码如下:
SELECT
TO_NUMBER(t.ITM_VAL) test
,t.ITM_VAL
from EMR.T_REC t where trim(translate(t.ITM_VAL,‘0123456789.‘,‘ ‘)) is NOT NULL
方法二:
使用替换方法,把非数字和小数点的字符变为空,然后使用to_number,代码如下:
SELECT TO_NUMBER(REGEXP_REPLACE(t.ITM_VAL,‘[^0-9.]‘,‘‘)) test ,t.ITM_VAL from EMR.T_REC t
以上是关于ORACLE 判断是否为数字类型的主要内容,如果未能解决你的问题,请参考以下文章