oracle正则表达式匹配数字开头,sparksql字符串匹配

发布时间:2023-11-29 11:40:29
发布者:网友

各位老铁们,大家好,今天由我来为大家分享oracle正则表达式匹配数字开头,以及sparksql字符串匹配的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

一、在oracle中,如何用一条select语句查询字段中非纯数字值

--1.正则判断,适用于10g以上版本--非正整数select字段from表whereregexp_replace(字段,'\d','')isnotnull;--非数值类型select字段from表whereregexp_replace(字段,'^[-\+]?\d+(\.\d+)?$','')isnotnull;--2.自定义函数,判断非值类型createorreplacefunctionisnumber(colvarchar2)returnintegerisinumber;begini:=to_number(col);return1;exceptionwhenothersthenreturn0;end;select字段from表whereisnumber(字段)=0;

二、sparksql字符串匹配

这里对sql常用的一些正则匹配作一些匹配,都是来源别人博客,此处稍作整理和总结。mark一下

1、sql中有like和rlike,具体区别

ESCAPE关键字定义转义符WHEREColumnALIKE'%5/%%'ESCAPE'/'

rlike是正则,正则的写法与java一样。'\'需要使用'\\',例如'\w'需要使用'\\w'

Arlike'\\d+'匹配一个或多个数字,notArlike'\\d+'匹配非数字

selectcount(*)fromolap_b_dw_hotelorder_fwherecreate_date_widregexp'\\d{8}'

selectcount(*)fromolap_b_dw_hotelorder_fwherecreate_date_widrlike'\\d{8}'

regexp_extract(stringsubject,stringpattern,intindex)将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符

selectregexp_extract('IloveYou','(I)(.*?)(You)',1)fromtest1limit1//1匹配I,2匹配love,3匹配You

regexp_replace(stringA,stringB,stringC)将字符串A中的符合Java正则表达式B的部分替换为C

selectregexp_replace("IloveYou","You","")fromtest1//Ilove

这里几个函数类似oracle的5个正则函数,具体可参考oracle的正则匹配函数

三、oracle like的用法

1、OracleLIKE用于通过模式来搜索字符串。它使用类似于正则表达式的字符来匹配字符串:

2、SELECT*FROMtableWHEREnameLIKE'Jo%';

3、此代码将检索所有以“Jo”开头的名称。

四、Oracle正则表达式:[:alpha:]与[[:alpha:]]的区别

像下面的字符都属于转义字符串,应用时在正则表达式时的格式都是[[:alnum:]],在其他程序应用时有可能使用:[:alpha:]的形式。alnumalphablankcntrldigit[[:alpha:]]大部分场合与[a-zA-Z0-9]等价。

五、Oracle查询某字段是否含有字母

selectcasewhenregexp_like(字段名,'.([a-z]+|[A-Z])')then'包含字母'else'不包含字母'endfrom表名字正则表达式函数:regexp_like关键的参数是第二个:'.([a-z]+|[A-Z])'其中.表示匹配任何单字符,换行符除外[a-z]是小写字母|或[A-Z]大写字母。

关于oracle正则表达式匹配数字开头到此分享完毕,希望能帮助到您。

——————————————小炎智能写作工具可以帮您快速高效的创作原创优质内容,提高网站收录量和各大自媒体原创并获得推荐量,点击右上角即可注册使用

小炎智能写作