HIVE按特殊字元擷取前後字串
阿新 • • 發佈:2019-01-27
以擷取括號前後字串為例:
1、擷取括號前的字串:select substr(a,1,instr(a,'(')-1) 注:此方法如果字串中沒有‘(’則會生成 null 值
如 :select substr('abc(123)',1,instr('abc(123)','(')-1) 會生成 abc,
但是select substr('abc',1,instr('abc','(')-1) 會生成 null,
2、用 substring_index函式擷取括號前字串,substring_index(a,'(',1) as b ,substring_index函式如果字串中沒有‘(’會保持原值不變,
如 :select substring_index ('abc(123)','(',1) 會生成 abc,
select substring_index('abc','(',1) 會生成 abc
3、用 substring_index函式擷取括號後字串,substring_index(a,'(',-1) as b ,substring_index函式如果字串中沒有‘(’會保持原值不變。