首页 数据库 mysql教程 PostgreSQL数据库切割和组合字段函数

PostgreSQL数据库切割和组合字段函数

Jun 07, 2016 pm 05:58 PM
pos postgresql 函数 切割 字段 数据库 组合

Postgresql里面内置了很多的实用函数,下面介绍下组合和切割函数 环境:PostgreSQL 9.1.2 CENTOS 5.7 final 一.组合函数 1.concat a.介绍 concat(str any [, str any [, ...]]) Concatenate all but first arguments with separators. The first parameter is

Postgresql里面内置了很多的实用函数,下面介绍下组合和切割函数
环境:PostgreSQL 9.1.2
          CENTOS 5.7 final

一.组合函数
1.concat
a.介绍
concat(str "any" [, str "any" [, ...]])

Concatenate all but first arguments with separators.
The first parameter is used as a separator.
NULL arguments are ignored.
b.实际例子:
postgres=# create table t_kenyon(id int,name varchar(10),remark text);
CREATE TABLE
postgres=# insert into t_kenyon values(1,'test','kenyon'),(2,'just','china'),(3,'iam','lovingU');
INSERT 0 3
postgres=# insert into t_kenyon values(4,'test',null);
INSERT 0 1
postgres=# insert into t_kenyon values(5,null,'adele');
INSERT 0 1
postgres=# select * from t_kenyon;
id | name | remark 
----+------+---------
  1 | test | kenyon
  2 | just | china
  3 | iam  | lovingU
  4 | test |
  5 |      | adele
(5 rows)

postgres=# select concat(id,name,remark) from t_kenyon;
   concat   
-------------
1testkenyon
2justchina
3iamlovingU
4test
5adele
(5 rows)
c.说明 concat函数纯粹是一个拼接函数,可以忽略null值拼接,拼接的值没有分隔符,如果需要分割符,则需要用下面的函数concat_ws。

2.concat_ws
a.介绍
concat_ws(sep text, str "any" [, str "any" [,...] ])

Concatenate all but first arguments with separators.
The first parameter is used as a separator.
NULL arguments are ignored.
b.实际应用
postgres=# select concat_ws(',',id,name,remark) from t_kenyon;
   concat_ws  
---------------
1,test,kenyon
2,just,china
3,iam,lovingU
4,test
5,adele
(5 rows)

postgres=# select concat_ws('_',id,name,remark) from t_kenyon;
   concat_ws  
---------------
1_test_kenyon
2_just_china
3_iam_lovingU
4_test
5_adele
(5 rows)

postgres=# select concat_ws('',id,name,remark) from t_kenyon;
  concat_ws 
-------------
1testkenyon
2justchina
3iamlovingU
4test
5adele
(5 rows)

postgres=# select concat_ws('^_*',id,name,remark) from t_kenyon;
     concat_ws    
-------------------
1^_*test^_*kenyon
2^_*just^_*china
3^_*iam^_*lovingU
4^_*test
5^_*adele
(5 rows)
c.说明 concat_ws函数比concat函数多了分隔符的功能,其实就是concat的升级版,假如分隔符为'',则取出来的结果和concat是一样的。其功能与mysql中的group_concat函数比较类似,但也有不同,pg中concat_ws分隔符还支持多个字符作为分隔符的,日常用得更多的可能是||。 

二、切割函数
1.split_part
a.介绍
split_part(string text, delimiter text, field int)

Split string on delimiter and return the given field (counting from one)
b.实际例子
postgres=# select split_part('abc~@~def~@~ghi','~@~', 2);
split_part
------------
def
(1 row)

postgres=# select split_part('now|year|month','|',3);
split_part
------------
month
(1 row)
c.说明 该函数对按分隔符去取某个特定位置上的值非常有效果

2.regexp_split_to_table
a.介绍
regexp_split_to_table(string text, pattern text [, flags text])

Split string using a POSIX regular expression as the delimiter.
b.使用例子
postgres=# SELECT regexp_split_to_table('kenyon,love,,china,!',',');
regexp_split_to_table
-----------------------
kenyon
love

china
!
(5 rows)

--按分割符切割
postgres=# SELECT regexp_split_to_table('kenyon,china,loves',',');
regexp_split_to_table
-----------------------
kenyon
china
loves
(3 rows)

--按字母切割
postgres=# SELECT regexp_split_to_table('kenyon,,china',E'\\s*');
regexp_split_to_table
-----------------------
k
e
n
y
o
n
,
,
c
h
i
n
a
(13 rows)
3.regexp_split_to_array
a.介绍
regexp_split_to_array(string text, pattern text [, flags text ])

Split string using a POSIX regular expression as the delimiter.
b.实际例子
postgres=# SELECT regexp_split_to_array('kenyon,love,,china,!',',');
  regexp_split_to_array  
--------------------------
{kenyon,love,"",china,!}
(1 row)

postgres=# SELECT regexp_split_to_array('kenyon,love,,china!','s*');
             regexp_split_to_array            
-----------------------------------------------
{k,e,n,y,o,n,",",l,o,v,e,",",",",c,h,i,n,a,!}
(1 row)
c.说明
上面用到的flag里的s*表示split all
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

excel函数公式大全 excel函数公式大全 May 07, 2024 pm 12:04 PM

1、 SUM函数,用于对一列或一组单元格中的数字进行求和,例如:=SUM(A1:J10)。2、AVERAGE函数,用于计算一列或一组单元格中的数字的平均值,例如:=AVERAGE(A1:A10)。3、COUNT函数,用于计算一列或一组单元格中的数字或文本的数量,例如:=COUNT(A1:A10)4、IF函数,用于根据指定的条件进行逻辑判断,并返回相应的结果。

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 Jul 18, 2024 am 05:48 AM

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

如何在PHP中处理数据库连接错误 如何在PHP中处理数据库连接错误 Jun 05, 2024 pm 02:16 PM

PHP中处理数据库连接报错,可以使用以下步骤:使用mysqli_connect_errno()获取错误代码。使用mysqli_connect_error()获取错误消息。通过捕获并记录这些错误信息,可以轻松识别并解决数据库连接问题,确保应用程序的顺畅运行。

C++ 函数异常进阶:定制错误处理 C++ 函数异常进阶:定制错误处理 May 01, 2024 pm 06:39 PM

C++中的异常处理可通过定制异常类增强,提供特定错误消息、上下文信息以及根据错误类型执行自定义操作。定义继承自std::exception的异常类,提供特定的错误信息。使用throw关键字抛出定制异常。在try-catch块中使用dynamic_cast将捕获到的异常转换为定制异常类型。实战案例中,open_file函数抛出FileNotFoundException异常,捕捉并处理该异常可提供更具体的错误消息。

如何用 Golang 连接远程数据库? 如何用 Golang 连接远程数据库? Jun 01, 2024 pm 08:31 PM

通过Go标准库database/sql包,可以连接到MySQL、PostgreSQL或SQLite等远程数据库:创建包含数据库连接信息的连接字符串。使用sql.Open()函数打开数据库连接。执行SQL查询和插入操作等数据库操作。使用defer关闭数据库连接以释放资源。

如何在 Golang 中使用数据库回调函数? 如何在 Golang 中使用数据库回调函数? Jun 03, 2024 pm 02:20 PM

在Golang中使用数据库回调函数可以实现:在指定数据库操作完成后执行自定义代码。通过单独的函数添加自定义行为,无需编写额外代码。回调函数可用于插入、更新、删除和查询操作。必须使用sql.Exec、sql.QueryRow或sql.Query函数才能使用回调函数。

Golang 函数接收 map 参数时的注意事项 Golang 函数接收 map 参数时的注意事项 Jun 04, 2024 am 10:31 AM

在Go中传递map给函数时,默认会创建副本,对副本的修改不影响原map。如果需要修改原始map,可通过指针传递。空map需小心处理,因为技术上是nil指针,传递空map给期望非空map的函数会发生错误。

See all articles