postgresql根据正则表达式切分,并获取切分后的某一个值
Posted 疯子加天才
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql根据正则表达式切分,并获取切分后的某一个值相关的知识,希望对你有一定的参考价值。
postgresql根据正则表达式切分,并获取切分后的某一个值
一。需求如下
出发地路线【白市驿收费站】;通行路线【绕城高速—G65包茂高速—G65草坝场收费站—G65包茂高速—G42沪蓉高速】;目的地路线【G42华蓥收费站】。
出发地路线【【白市驿收费站】】;通行路线【【绕城高速—G65包茂高速—G65草坝场收费站—G65包茂高速—G42沪蓉高速】】;目的地路线【【G42华蓥收费站】】。
目的:获取上述文字中的通行路线
二。postgresql切分函数简介
1.split_part
特点:可以直接获取切分的值,但是不能用正则表达式切分,所以不考虑
2.regexp_split_to_table
特点:可以用正则,但是切分完是多行,所以不考虑
3.regexp_split_to_array
特点:可以用正则,切分完是数组,用数组下标获取该值,故用该方法
注:注意数组取下标值的方式
三。具体sql如下
select rri_id,order_no,
(regexp_split_to_array((regexp_split_to_array(roads,\'【+\'))[3],\'】+\'))[1] as roads
from req_road_info
where rri_id in (624539,624506)
order by order_no;
以上是关于postgresql根据正则表达式切分,并获取切分后的某一个值的主要内容,如果未能解决你的问题,请参考以下文章