可以有
2
种办法来判断,第一种办法为
REPLACE
加
TRANSLATE
函数,在程序中可以直接使用“
TRANSLATE(REPLACE('
入参
','.',''),'/1234567890','/') IS NULL
”来判断入参为数字,缺点是,若入参有
2
个小数点或含有加减号则不能判断。第二种办法为使用
TO_NUMBER
或
REGEXP_LIKE
来自定义函数进行判断。
第一种办法示例:
SYS@PROD1> SELECT
2 NVL2(TRANSLATE(REPLACE('12','.',''),'/1234567890','/'),'CHAR','NUMBER') IN_TYPE,
3 NVL2(TRANSLATE(REPLACE('12.34','.',''),'/1234567890','/'),'CHAR','NUMBER') IN_TYPE2,
4 NVL2(TRANSLATE(REPLACE('12.Mabcd','.',''),'/1234567890','/'),'CHAR','NUMBER') IN_TYPE3
5 FROM DUAL;
.............................................................................................................................................
● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除
● 本文在itpub(
http://blog.itpub.net/26736162/abstract/1/
)、博客园(
http://www.cnblogs.com/lhrbest
)和个人微信公众号(
xiaomaimiaolhr
)上有同步更新
● 本文itpub地址:
http://blog.itpub.net/26736162/abstract/1/
● 本文博客园地址:
http://www.cnblogs.com/lhrbest
● 本文pdf版、个人简介及小麦苗云盘地址:
http://blog.itpub.net/26736162/viewspace-1624453/
● 数据库笔试面试题库及解答:
http://blog.itpub.net/26736162/viewspace-2134706/
● DBA宝典今日头条号地址:
http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826
.............................................................................................................................................
● QQ群号:
230161599
(满)
、618766405
● 微信群:可加我微信,我拉大家进群,非诚勿扰
● 联系我请加QQ好友
(
646634621
)
,注明添加缘由
● 于 2017-11-01 09:00 ~ 2017-11-30 22:00 在魔都完成
● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
.............................................................................................................................................
●
小麦苗的微店
:
https://weidian.com/s/793741433?wfr=c&ifr=shopdetail
●
小麦苗出版的数据库类丛书
:
http://blog.itpub.net/26736162/viewspace-2142121/
.............................................................................................................................................
使用
微信客户端
扫描下面的二维码来关注小麦苗的微信公众号(
xiaomaimiaolhr
)及QQ群(DBA宝典),
学习最实用的数据库技术。
通过Oracle识别字符串中的中文or字母or数字来介绍全角半角转换函数(to_multi_byte/to_single_byte)在varchar/clob中的使用案例
在日常处理数据的过程中,大家肯定会遇到很多奇奇怪怪的字符,然后还要对这些字符处理,比如***你有个需求:识别字符串中的中文或是识别字母或是识别数字,甚至都识别出来然后剔除or保留某些字符汉字或数字***。
你去百度了一下相关问题,然后得到的结果大都是用正则 '\4E00' and '\9FA5'来识别中文范围用a-zA-z或0-9或[:digit:][:alpha:]来识别字母或数字。但是如果你的字符串中包含全角字符,那这样是识别不全的!!!那怎么做才能够正确的识别中文、字母、数字呢???那就要考虑先做全半
Oracle截取JSON字符串内容1 CREATE OR REPLACE FUNCTION PLATFROM.parsejsonstr(p_jsonstr varchar2,startkey varchar2,endkey varchar2) RETURN VARCHAR2 2 IS 3 rt...