色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

sparksql字符串匹配?

錢衛國2年前14瀏覽0評論

這里對sql常用的一些正則匹配作一些匹配,都是來源別人博客,此處稍作整理和總結。mark一下

1、sql中有like和rlike,具體區別

like:

%:匹配零個及多個任意字符

_:與任意單字符匹配

[]:匹配一個范圍

[^]:排除一個范圍

ESCAPE關鍵字定義轉義符WHEREColumnALIKE'%5/%%'ESCAPE'/'

like不是正則,而是通配符

rlike:

rlike是正則,正則的寫法與java一樣。'\'需要使用'\\',例如'\w'需要使用'\\w'

Arlike'\\d+'匹配一個或多個數字,notArlike'\\d+'匹配非數字

直接在條件里面寫正則表達式

2、hivesql中正則匹配函數

regexp功能和rlike類似

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的正則匹配函數