GreenPlum学习笔记:split_part与string_to_array字符截取

  偶遇一个需求:想按某个指定符号分割以后,提取字符。spa

  例如:tag = '休闲,娱乐,运动,玩耍',想提取"休闲"这个词。code

方法一:string_to_array

select string_to_array('休闲,娱乐,运动,玩耍',''); ------------------------------ -- {休闲,娱乐,运动,玩耍} -- (1 row)
select tag[1] from ( select string_to_array('休闲,娱乐,运动,玩耍','') as tag ) a --------------------- -- 休闲 -- (1 row)

如此实现,可是string_to_array须要子查询,当与其余自动group by一块儿查询的时候就显得及其不方便,所以可以使用方法二。blog

方法二:split_part

select split_part('休闲,娱乐,运动,玩耍','',1); ----------------- -- 休闲 -- (1 row)

select split_part('abc~@~def~@~ghi','~@~',2) ----------------- -- def -- (1 row)

END 2018-08-01 17:03:18string

相关文章
相关标签/搜索