postgresql根据正则表达式切分,并获取切分后的某一个值

时间:2021-08-28 04:00:21

postgresql根据正则表达式切分,并获取切分后的某一个值   一。需求如下   出发地路线【白市驿收费站】;通行路线【绕城高速—G65包茂高速—G65草坝场收费站—G65包茂高速—G42沪蓉高速】;目的地路线【G42华蓥收费站】。   出发地路线【【白市驿收费站】】;通行路线【【绕城高速—G65包茂高速—G65草坝场收费站—G65包茂高速—G42沪蓉高速】】;目的地路线【【G42华蓥收费站】】。   目的:获取上述文字中的通行路线   二。postgresql切分函数简介   1.split_part   特点:可以直接获取切分的值,但是不能用正则表达式切分,所以不考虑   postgresql根据正则表达式切分,并获取切分后的某一个值   postgresql根据正则表达式切分,并获取切分后的某一个值

 

 

  2.regexp_split_to_table   特点:可以用正则,但是切分完是多行,所以不考虑   postgresql根据正则表达式切分,并获取切分后的某一个值postgresql根据正则表达式切分,并获取切分后的某一个值

 

 

  3.regexp_split_to_array   特点:可以用正则,切分完是数组,用数组下标获取该值,故用该方法   注: 注意数组取下标值的方式   postgresql根据正则表达式切分,并获取切分后的某一个值postgresql根据正则表达式切分,并获取切分后的某一个值

 

 

  三。具体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根据正则表达式切分,并获取切分后的某一个值postgresql根据正则表达式切分,并获取切分后的某一个值