HiveSQL的字符切分:substr與instr的完美結合

在sql查詢中,諸如substr,left,right等字符切分函數的應用場景非常大,只需要指定字符,開始序位,結束序位就能很方便的切分得到我們想要的結果,但是對於數據序位不統一的,比如一個name字段裏有%test1#,%test#,%fshkfjdshfkds#,我們想要兩個%裏的結果,只不過%的序位不是唯一的,就不能直接substr了

這時候就需要我們的強大函數instr,該函數是返回某字符在字符串裏的序位,比如instr('test1','e') 則返回2

那麼我們把substr與instr結合就可以做出來上面的結果

substr(name,instr(name,'%') + 1,instr(name,'#') -1)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章