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)

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