sql的正则表达式使用like sparksql字符串匹配
本篇文章给大家谈谈sql的正则表达式使用like,以及sparksql字符串匹配对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
一、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的正则匹配函数
二、zero like函数的用法
1、"zero-like"函数通常用于编程语言中,用于判断一个数值是否接近零,但不一定等于零。这在浮点数计算中常用于避免精度误差带来的问题。例如,在Python中可以使用类似如下的代码判断一个数值是否接近零:
2、defzero_like(value,tolerance=1e-6):
三、like不加通配符会走索引嘛
1、在我的记忆中,like这种类正则根本就不走索引。如果能确定是右匹配,那么就不要用like,用substr(比如,substr(a.e,-3)截取会好很多。建立索引也可以尝试截取建立索引。这样可能会走,不过速度不好保证。
2、用关键字AND连接多个like条件。比如:select*fromTABLEwhere字段1like'A%'and字段2like'%B'and字段3like'%C%';这个语句的作用是选则TABLE表里,字段1以A开头的,字段2以B结尾,且字段3含有字符C的所有记录。
关于sql的正则表达式使用like,sparksql字符串匹配的介绍到此结束,希望对大家有所帮助。
——————————————小炎智能写作工具可以帮您快速高效的创作原创优质内容,提高网站收录量和各大自媒体原创并获得推荐量,点击右上角即可注册使用
相关新闻推荐
- sql的正则表达式括号内容提问(如何筛选带括号的内容) 2023-11-29
- sql的正则表达式使用like sparksql字符串匹配 2023-11-29
- sql电话号码正则表达式?sql语言的主要功能是什么 2023-11-29
- sql用正则表达式查询速度快吗 sybase SQL中怎么实现正则表达式匹配 2023-11-29
- sql用正则表达式查询包含的字段(oracle中怎样判断包含字母) 2023-11-29
- sql用正则表达式删除所有汉字 sql语言的主要功能是什么 2023-11-29