码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-12-27 10:06:11      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:特点   gre   file   order   bsp   order by   pos   das   需求   

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

标签:特点   gre   file   order   bsp   order by   pos   das   需求   

原文地址:https://www.cnblogs.com/telwanggs/p/12105430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!