PostgreSQL常用字符串分割函数整理汇总


Posted in PostgreSQL onJuly 07, 2022

1. SPLIT_PART

SPLIT_PART() 函数通过指定分隔符分割字符串,并返回第N个子串。语法:

SPLIT_PART(string, delimiter, position)

  • string : 待分割的字符串
  • delimiter:指定分割字符串
  • position:返回第几个字串,从1开始,该参数必须是正数。如果参数值大于分割后字符串的数量,函数返回空串。

示例:

SELECT SPLIT_PART('A,B,C', ',', 2);  -- 返回B

下面我们利用该函数分割日期,获取年月日:

select split_part( current_date::text,'-',1) as year ,
       split_part( current_date::text,'-',2) as  month,
       split_part( current_date::text,'-',3) as day

返回信息:

year month day
2021 09 11

2.STRING_TO_ARRAY

该函数用于分割字符串至数组元素,请看语法:

string_to_array(string, delimiter [, null string])

  • string : 待分割的字符串
  • delimiter:指定分割字符串
  • null string : 设定空串的字符串

举例:

SELECT string_to_array('xx~^~yy~^~zz', '~^~');       -- {xx,yy,zz}
SELECT string_to_array('xx~^~yy~^~zz', '~^~', 'yy'); -- {xx,,zz}

我们也可以利用unnest函数返回表:

SELECT t as name
FROM unnest(string_to_array('john,smith,jones', ',')) AS t;
name
john
smith
jones

3. regexp_split_to_array

使用正则表达式分割字符串,请看语法:

regexp_split_to_array ( string text, pattern text [, flags text ] ) → text[]

请看示例:

postgres=# SELECT regexp_split_to_array('foo  bar baz', '\s+');
 regexp_split_to_array 
-----------------------
 {foo,bar,baz}
(1 row)

当然也有对应可以返回table的函数:

SELECT t as item
FROM regexp_split_to_table('foo    bar,baz', E'[\\s,]+') AS t;

返回结果:

item
foo
bar
baz

4.regexp_split_to_array

select regexp_split_to_array('the,quick,brown;fox;jumps', '[,;]') AS subelements
-- 返回 {the,quick,brown,fox,jumps}

于上面一样,只是返回数组类型。

5. regexp_matches

该函数返回匹配模式的字符串数组。如果需要返回所有匹配的集合,则需要的三个参数‘g’ (g 是 global 意思)。请看示例:

select regexp_matches('hello how are you', 'h[a-z]*', 'g')  
 as words_starting_with_h

返回结果:

words_starting_with_h
{hello}
{how}

如果忽略 ‘g’ 参数,则仅返回第一项。

当然我们也可以使用regexp_replace函数进行替换:

select regexp_replace('yellow submarine', 'y[a-z]*w','blue');
-- 返回结果:blue submarine

总结

到此这篇关于PostgreSQL常用字符串分割函数的文章就介绍到这了,更多相关pgsql字符串分割函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PostgreSQL 相关文章推荐
postgresql无序uuid性能测试及对数据库的影响
Jun 11 PostgreSQL
postgresql 删除重复数据案例详解
Aug 02 PostgreSQL
PostgreSQL自动更新时间戳实例代码
Nov 27 PostgreSQL
基于PostgreSQL/openGauss 的分布式数据库解决方案
Dec 06 PostgreSQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
Jan 18 PostgreSQL
Oracle配置dblink访问PostgreSQL的操作方法
Mar 21 PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
postgreSQL数据库基础知识介绍
Apr 12 PostgreSQL
PostgreSQL逻辑复制解密原理解析
Sep 23 PostgreSQL
postgresql中如何执行sql文件
May 08 PostgreSQL
PostgreSQL怎么创建分区表详解
Jun 25 #PostgreSQL
PostgreSQL出现死锁该如何解决
PostgreSQL基于pgrouting的路径规划处理方法
Apr 18 #PostgreSQL
postgreSQL数据库基础知识介绍
PostgreSQL数据库去除重复数据和运算符的基本查询操作
PostgreSQL聚合函数介绍以及分组和排序
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
You might like
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
Javascript中的prototype与继承
2017/02/06 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
Python中的并发编程实例
2014/07/07 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
客服文员岗位职责
2013/11/29 职场文书
咖啡书吧创业计划书
2014/01/13 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL