欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

sparksql字符串匹配

錢斌斌2年前57瀏覽0評論

sparksql字符串匹配?

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

1、sql中有l(wèi)ike 和 rlike,具體區(qū)別

like:

%:匹配零個(gè)及多個(gè)任意字符

_:與任意單字符匹配

[]:匹配一個(gè)范圍

[^]:排除一個(gè)范圍

ESCAPE 關(guān)鍵字定義轉(zhuǎn)義符 WHERE ColumnA LIKE '%5/%%' ESCAPE '/'

like不是正則,而是通配符

rlike:

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

A rlike '\\d+' 匹配一個(gè)或多個(gè)數(shù)字, not A rlike '\\d+' 匹配非數(shù)字

直接在條件里面寫正則表達(dá)式

2、hive sql 中 正則匹配函數(shù)

regexp 功能和 rlike類似

select count(*) from olap_b_dw_hotelorder_f where create_date_wid regexp '\\d{8}'

select count(*) from olap_b_dw_hotelorder_f where create_date_wid rlike '\\d{8}'

regexp_extract(string subject, string pattern, int index) 將字符串subject按照pattern正則表達(dá)式的規(guī)則拆分,返回index指定的字符

select regexp_extract('IloveYou','(I)(.*?)(You)',1) from test1 limit 1 // 1 匹配 I,2匹配 love,3匹配 You

regexp_replace(string A, string B, string C) 將字符串A中的符合Java正則表達(dá)式B的部分替換為C

select regexp_replace("IloveYou","You","") from test1 // Ilove

這里幾個(gè)函數(shù)類似oracle的5個(gè)正則函數(shù),具體可參考o(jì)racle的正則匹配函數(shù)