假設字段樣式如下:
a,b,c,d
a,c,b
a,f,g,h,j
想要取出倒數第一位的數(結果如下):
c
c
h
實現如下:
方法一:
select split(temp_column,',')[size(split(temp_column,',')-1)] from test001 ;
方法二:
select reverse(split(reverse(temp_column),',')[1]) as temp_column from test001 ; ps:針對中文可能會有bug
方法三:
select temp_column, split(temp_column,',')[count(c1)-1] from test001 lateral view explode(temp_column,',')) num as c1 ;
總結 :主要使用到的函數有 size 、split、reverse、lateral view explode 這幾個函數
size一般針對的數組,split函數切分過后,正好是生成數組。