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;
 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM