正则表达式限定sql语句的表(plsql 如何只保留字段中的汉字)
这篇文章给大家聊聊关于正则表达式限定sql语句的表,以及plsql 如何只保留字段中的汉字对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
一、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的正则匹配函数
二、plsql 如何只保留字段中的汉字
回答如下:可以使用正则表达式来只保留字段中的汉字。具体操作如下:
1.使用REGEXP_REPLACE函数,将非汉字字符替换为空字符串。
例如,假设表中有一个字段col1,要只保留其中的汉字,可以使用以下SQL语句:
SELECTREGEXP_REPLACE(col1,'[^\\u4E00-\\u9FA5]+','')asnew_col1
其中,正则表达式'[^\\u4E00-\\u9FA5]+'表示匹配非汉字字符,将其替换为空字符串。
2.如果需要将结果存储到新的表中,可以使用CREATETABLEASSELECT语句。
例如,将上述结果存储到新表new_table中,可以使用以下SQL语句:
SELECTREGEXP_REPLACE(col1,'[^\\u4E00-\\u9FA5]+','')asnew_col1
文章到此结束,如果本次分享的正则表达式限定sql语句的表和plsql 如何只保留字段中的汉字的问题解决了您的问题,那么我们由衷的感到高兴!
——————————————小炎智能写作工具可以帮您快速高效的创作原创优质内容,提高网站收录量和各大自媒体原创并获得推荐量,点击右上角即可注册使用
相关新闻推荐
- 正则表达式限定两个数字,js正则表达式两个字符之间三位数字 2023-12-01
- 正则表达式限定sql语句的表(plsql 如何只保留字段中的汉字) 2023-12-01
- 正则表达式限定7位数(如何用正则表达式表示由数字和字母构成,长度为6到15位的密码) 2023-12-01
- 正则表达式限定5到六位,如何用正则表达式提取指定位数内容 2023-12-01
- 正则表达式限定4位数 如何用正则表达式提取指定位数内容 2023-12-01
- 正则表达式限定3位数 正则匹配数字 2023-12-01