postgresql 字符串函数
字符串函数:
postgresql中的字符串函数有:计算字符串长度函数、字符串合并函数、字符串替换函数、字符串比较函数、查找指定字符串位置函数等。
1、计算字符串字符数和字符串长度的函数:char_length(str)和length(str)
char_length(str)返回值为字符串str所包含的字符个数。一个多字节字符算作一个单字符。
例子:使用char_length函数计算字符串字符个数,如:
testdb=# select char_length('date'),char_length('zhang');
char_length | char_length
-------------+-------------
4 | 5
(1 row)
length(str)返回值为字符串的字节长度,使用utf8编码字符集时,一个汉字是3字节,一个数字或字母算一个字节。
testdb=# select length('date'),length('zhang');
length | length
--------+--------
4 | 5
(1 row)
注意:length函数的计算结果和char_length函数相同,因为英文字符的个数和所占字节相同,一个字符占一个字节。
2、合并字符串函数:concat(s1,s2,,,,)、concat_ws(x,s1,s2,,,,)
concat(s1,s2,,,)返回结果为连接参数产生的字符串。任何一个参数为null,返回值就为null。如果所有参数为非二进制字符串,那么结果为非二进制字符串。如果自变量中含有任一二进制字符串,那么结果就为一个二进制字符串。
concat_ws(x,s1,s2,,,)x是与其他参数的分隔符。
例子:使用concat函数连接字符串,如下:
testdb=# select concat('postgresql','9.6'),concat('postgresql',null,'testdb');
concat | concat
---------------+------------------
postgresql9.6 | postgresqltestdb
(1 row)
例子:使用concat_ws函数连接带分隔符的字符串,如:
testdb=# select concat_ws('_','postgresql','9.6'),concat_ws('**','postgresql',null,'testdb');
concat_ws | concat_ws
----------------+--------------------
postgresql_9.6 | postgresql**testdb
(1 row)
3、获取指定长度的字符串的函数:left(s,n)和right(s,n)
left(s,n)返回字符串s开始的最左边n个字符。
例子:使用left函数返回字符串中左边开始的5个字符,如
testdb=# select left('football',5);
left
-------
footb
(1 row)
right(s,n)返回字符串s最右边个字符
例子:使用right函数返回字符串中右边的字符,如:
testdb=# select right('football',4);
right
-------
ball
(1 row)
4、填充字符串的函数:lpad(s1,len,s2)和rpad(s1,len,s2)
lpad(s1,len,s2)返回字符串s1,其左边由字符s2填充,填充长度为len,加入s1的长度大于len,则返回值被缩短至len字符。
例子:使用lpad函数对字符串进行填充操作,如下:
testdb=# select lpad('hello',4,'??'),lpad('hello',10,'??');
lpad | lpad
------+------------
hell | ?????hello
(1 row)
rpad(s1,len,s2)返回字符串s1,其右边被字符串s2填补至len字符长度。假如字符串的长度大于len,则返回值被缩短到与len字符相同的长度。
例子:使用rpad函数对字符串进行填充操作,如:
testdb=# select rpad('hello',4,'?'),rpad('hello',10,'?');
rpad | rpad
------+------------
hell | hello?????
(1 row)
5、删除空格的函数:ltrim(s)、rtrim(s)和trim(s)
ltrim(s)返回字符串s,字符串左侧空格字符被删除。
例子:使用ltrim函数删除字符串左边的空格,如:
testdb=# select '( book )',concat('(',ltrim(' book '),')');
?column? | concat
----------+---------
( book ) | (book )
(1 row)
rtrim(s)返回字符串s,字符串右侧空格字符被删除。
例子:使用rtrim函数删除字符串右边的空格,如:
testdb=# select '( book )',concat('(',rtrim(' book '),')');
?column? | concat
----------+---------
( book ) | ( book)
(1 row)
trim(s)删除字符串s两侧的空格。
例子:使用trim函数删除指定字符串两端的空格,如:
testdb=# select '( book )',concat('(',trim(' book '),')');
?column? | concat
----------+--------
( book ) | (book)
(1 row)
6、删除指定字符串的函数:trim(s1 from s)
trim(s1 from s)删除字符串s中两端所有的子字符串s1.s1为可选项,在未指定情况下删除空格。
例子:使用trim(s1 from s)函数删除字符串中两端指定的字符,如:
testdb=# select trim('zh' from 'zhanghellzhnihao');
btrim
----------------
anghellzhnihao
(1 row)
7、重复生成字符串的函数:repeat(s,n)
repeat(s,n)返回一个由重复的字符串s组成的字符串,n表示重复生成的次数。若n<=0,则返回一个空字符串;若s或n为null,则返回null。
例子:使用repeat函数重复生成相同的字符串,如:
testdb=# select repeat('zhang',3);
repeat
-----------------
zhangzhangzhang
(1 row)
8、替换函数:replace(s,s1,s2)
replace(s,s1,s2)使用字符串s2替代字符串s中所有字符串s1.
例子:使用replace函数进行字符串替代操作。
testdb=# select replace('www.baidu.com','w','z');
replace
---------------
zzz.baidu.com
(1 row)
9、获取子串的函数:substring(s,n,len)
substring(s,n,len)表示从字符串s返回一个长度为len的子字符串,起始于位置n。也可能对n使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的n的字符,即倒数第n个字符。
testdb=# select substring('zhanghello',5) as a1,substring('zhanghello',5,3) as a2,substring('lunch',-3) as a3;
a1 | a2 | a3
--------+-----+-------
ghello | ghe | lunch
(1 row)
注意:如果对len使用的是一个小于1的值,那么结果始终为整个字符串。
10、匹配子串开始位置的函数:position(str1 in str)
position(str1 in str)函数的作用是返回子字符串str1在字符串str中的开始位置。
例子:使用position函数查找字符串中指定str1在字符串的开始位置,如:
testdb=# select position('ball' in 'football');
position
----------
5
(1 row)
11、字符串逆序函数:reverse(s)
reverse(s)将字符串s反转,返回的字符串的顺序和s字符顺序相反。
例子:使用reverse函数反转字符串,如:
testdb=# select reverse('abc');
reverse
---------
cba
(1 row)
- 1. postgresql字符串函数
- 2. PostgreSQL 字符串操作函数[转]
- 3. PostgreSQL 字符串操作函数[转]
- 4. PostgreSQL字符串处理函数
- 5. postgreSql的字符串操作函数
- 6. Postgresql的字符串操作函数
- 7. 字符串和字符串函数 常用字符串函数
- 8. 字符串函数
- 9. C -- 字符串和字符串函数
- 10. 字符串__常用字符串函数
- 更多相关文章...
postgresql 字符串函数相关推荐
- postgresql字符串函数全集
1. trim 删除字符串头部/两端/尾部的指定字符 trim([leading | trailing | both] [characters] from string) 示例:去掉字段首尾多余空格 ...
- PostgreSQL 字符串分隔函数(regexp_split_to_table、regexp_split_to_array) 发表于 2020-06-01 | 阅读次数: 394
转载:https://zhangzw.com/posts/20200601.html PostgreSQL 字符串分隔函数(regexp_split_to_table.regexp_split_to_ ...
- PostgreSQL常用字符串函数和时间函数:
一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.4. 字符串函数和操作符...
9.4. 字符串函数和操作符 9.4.1. format 本节描述了用于检查和操作字符串值的函数和操作符.在这个环境中的串包括所有类型character.character varying和text的 ...
- MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据
1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...
- MySQL 十大常用字符串函数
作者 | 不剪发的Tony老师 责编 | 欧阳姝黎 出品 | CSDN博客 数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值.MySQL 为我们提供了许多用 ...
- postgresql常用函数及操作符及类型转换
为什么80%的码农都做不了架构师?>>> 一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是Po ...
- PostgreSQL常用函数以及操作符
一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...
- PostgreSQL之函数和操作符
一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...
最新文章
- 5分钟速通 AI 计算机视觉发展应用
- 自动编码(Autoencoder)器异常检测(outlier detection)实战
- 生成对抗网络(GAN)应用于图像分类
- beta冲刺(2/7)
- 反查BOM, 找出它的上阶
- ubuntu14.04不能安全卸载移动硬盘
- 【转载】图片 CSS:怎样才能 “响应式 + 固定宽高比例”?
- boost::asio
- 位运算求整数中二进制1的个数
- 在文本和图像上的对比学习小综述~
- Python:下载安装包
- Windows10下安装使用Bochs-2.6.11
- Linux硬盘格式化
- centos6 yum 阿里源 配置
- 关于二重积分,三重积分的理解
- PowerMill2019基础到三四五轴编程视频教程全
- js代码格式化(js代码格式化html标签)
- h5手机端或PC端利用高德地图获取当前定位位置
- 同学用javascript写好了论坛自动灌水机。
- 亚马逊云科技 AI For Good-2022优秀方案开源分享——望楼