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

原文地址:https://www.cnblogs.com/cykfory/p/12091521.html

时间: 2024-08-30 03:53:14

ORACLE 判断是否为数字类型的相关文章

原生JavaScript判断是否为数字类型

function isDigit(value) { var patrn = /^[0-9]*$/; if (patrn.exec(value) == null || value == "") { return false } else { return true } }

#定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型。其他类型则报错,并且返回一个偶数列表:(注:列表里面的元素为偶数)。

1 #定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型.其他类型则报错,并且返回一个偶数列表:(注:列表里面的元素为偶数). 2 def get_num(num): 3 if type(num)!= list: 4 return '您传入的不是列表!' 5 else: 6 for i in num: 7 if not isinstance(i,int): 8 return '请全部传入整数!' 9 return list(filter(lambda x:x

java python oracle判断字符串是否为数字的函数

java public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("^-?[0-9]+\\.?[0-9]+"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ){ return false; } return true; } python def isNum(value): try: int(value) + 1 except

对oracle数字类型的研究

Oracle的数字类型主要有number,binary_float,binary_double三类,其他的像int,number(p,s)等等大多数都是由这些引申出来的.这部分的理解主要来自oracle11g编程艺术. 其中提到的一个很有意思的东西就是number是软件模拟运算,而binary类型则是硬件直接运算,所以在性能方便的差距还是很大的,我们以事实说话. SELECT * FROM NUMTABLE: 里面的数字是1----77760,类型分别为number,binary_float,b

js中判断一个变量是否为数字类型的疑问

1.typeof(a)=="number" 是true,但是a instanceof Number却为false,不理解 2.isNaN()不能判断一个变量是否为数字类型,isNaN(123)值为false,isNaN('123')值也为false.isNaN() 的实际作用跟它的名字isNaN并不一致,isNaN(NaN)值为true,isNaN(Number("xyz"))值为true,isNaN("abc")值为true,isNaN(123

Javascript如何判断一个变量是数字类型?

isNaN()不能判断一个变量是否为数字类型,isNaN(123)值为false,isNaN('123')值也为false.isNaN() 的实际作用跟它的名字isNaN并不一致,isNaN(NaN)值为true,isNaN(Number("xyz"))值为true,isNaN("abc")值为true,isNaN(123/0)值为false,所以它实际是将不能转换成number类型的其他类型及其自身NaN都判断为true,而除了其自身NaN外所有的number类型

数字类型和字符串类型

1.bin()函数将十进制转换成而进制 2.oct()函数将十进制转换成八进制 3.hex()函数将十进制转换成十六进制 十六进制表示:0-9 a b c d e f 4.数字类型的特性: 只能存放一个值 一经定义,不可更改 直接访问 分类:整型,布尔,浮点,复数 5.字符串类型 引号包含的都是字符串类型 S1='hello world'  s="hello world" s2="""hello world""" s3='''

Day2_数字类型_字符串类型_列表类型_元组_字典_集合_字符编码_文件处理

数字类型: 作用:年纪,等级,薪资,身份证号等: 10进制转为2进制,利用bin来执行. 10进制转为8进制,利用oct来执行. 10进制转为16进制,利用hex来执行. #整型age=10 print(type(age)) #浮点 salary=3000.3 print(type(salary))#10进制转为2进制print(bin(age)) 字符串类型: 作用:可以表示的有名字,性别,国籍等.. 常用操作: 移除空白: name.stript()  #此时name是一个变量 *.stri

javascript类型系统——Number数字类型

× 目录 [1]定义 [2]整数 [3]浮点数[4]科学记数[5]数值精度[6]数值范围[7]特殊数值[8]转成数值[9]实例方法 前面的话 javascript只有一个数字类型,它在内部被表示为64位的浮点数,和java的double数字类型一样.与其他大多数编程语言不同的是,它没有分离出整数类型,所以1和1.0的值相同.这提供了很大的方便,避免了一大堆因数字类型导致的错误 数字Number是javascript中基本的原始数据类型,同时javascript也支持Number对象,它是一个原始