Oracle中判断字段是否为数字
网络编程 2021-07-05 16:08www.168986.cn编程入门
本文分别介绍使用trim+translate函数或regexp_like函数判断表中的某个字段是否为数字的方法,希望对大家有所帮助。
在我们平常的开发中可能会遇到这样的问题,就是判断某一列是否全部由数字组成,我们都知道oracle并没有给我们提供这样一个现成的函数,那么根据我的经验我了两个行之有效的方法(列名column,表名table)
1.使用trim+translate函数
代码如下:
select from table where trim(translate(column,'0123456789',' ')) is NULL;
这里要注意的是translate函数的第三个参数是一个空格,不是'', 因为translate的第三个参数如果为空的话,那么永远返回'',这样的就不能达到过滤纯数字的目的。这样把所有的数字都转化为空格,如果全部是由数 构成,那么一旦trim后自然是空,实现了上述目标。如果想排除空项的话,可以这样写
代码如下:
select from table where trim(translate(nvl(column,'x'),'0123456789',' ')) is NULL;--x 表示任何'0-9'以外的字符。
2.使用regexp_like函数
代码如下:
select from table where regexp_like(column,'^[0-9]+[0-9]$');
这里要注意的是regexp_like函数不是在所有的oracle版本中 都能使用的。regexp_like是oracle支持正则表达式的四个函数regexp_like,regexp_replace,regexp_instr,regexp_substr中的 一个,有关这方面更加详细信息,请关注相关文档。
一下,如果oracle支持regexp_like函数,推荐使用正则的方式,如果不支持则用trim+translate这种方式。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南