postgresql中的字符串函数有:计算字符串长度函数,字符串合并函数,字符串替换函数,字符串比较函数,查找指定字符串位置函数等。
1,计算字符串字符数和字符串长度的函数:char_length (str)和长度(str)
char_length (str)返回值为字符串str所包含的字符个数。一个多字节字符算作一个单字符。
例子:使用char_length函数计算字符串字符个数,如:
testdb=#选择char_length(& # 39;日期# 39;),char_length(& # 39;张# 39;);
, char_length | char_length
- - - - - - - - - - - - - + - - - - - - - - - - - - -
,,,,,4 |大敌;,,,,,5
(1行)
长度(str)返回值为字符串的字节长度,使用utf8编码字符集时,一个汉字是3字节,一个数字或字母算一个字节。
testdb=#选择长度(& # 39;日期# 39;),长度(& # 39;张# 39;);
,长度| length
- - - - - - - + - - - - - - -
,,,4 |,,,5
(1行)
注意:长度函数的计算结果和char_length函数相同,因为英文字符的个数和所占字节相同,一个字符占一个字节。
2,合并字符串函数:concat (s1, s2,,,,), concat_ws (x, s1, s2,,,,)
,concat (s1, s2,,,)返回结果为连接参数产生的字符串。任何一个参数为零,返回值就为null。如果所有参数为非二进制字符串,那么结果为非二进制字符串。如果自变量中含有任一二进制字符串,那么结果就为一个二进制字符串。
concat_ws (x, s1, s2,,,) x是与其他参数的分隔符。
例子:使用concat函数连接字符串,如下:
testdb=#选择concat (& # 39; postgresql # 39; & # 39; 9.6 & # 39;), concat (& # 39; postgresql # 39;, null, & # 39; testdb # 39;);
,,concat ,|大敌;,,concat ,,,
- - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - -
, postgresql9.6 | postgresqltestdb
(1行)
例子:使用concat_ws函数连接带分隔符的字符串,如:
=#选择testdb concat_ws (& # 39; _ # 39; & # 39; postgresql # 39;, & # 39; 9.6 & # 39;), concat_ws (& # 39; * * & # 39;, & # 39; postgresql # 39;, null, & # 39; testdb # 39;);
,,concat_ws ,|,,,concat_ws ,,,
- - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - -
, postgresql_9.6 | postgresql testdb * *
(1行)
3,获取指定长度的字符串的函数:左(s、n)和右(s、n)
左(s、n)返回字符串年代开始的最左边n个字符。
例子:使用左函数返回字符串中左边开始的5个字符,如
testdb=# select 左(& # 39;足球# 39;5);
, left ,
- - - - - - -
, footb
(1行)
正确(s、n)返回字符串年代最右边个字符
例子:使用正确的函数返回字符串中右边的字符,如:
testdb=# select 右(& # 39;足球# 39;4);
, right
- - - - - - -
,
球(1行)
4,填充字符串的函数:lpad (len s1, s2)和rpad (len s1, s2)
lpad (len s1, s2)返回字符串s1,其左边由字符s2填充,填充长度为兰,加入s1的长度大于len,则返回值被缩短至兰字符。
例子:使用lpad函数对字符串进行填充操作,如下:
testdb=#选择lpad(& # 39;你好# 39;4,& # 39;? ? & # 39;),lpad(& # 39;你好# 39;,10日& # 39;? ? & # 39;);
, lpad |,,lpad ,,
- - - - - - + - - - - - - - - - - - -
,地狱| ? ? ? ? ?你好
(1行)
rpad (len s1, s2)返回字符串s1,其右边被字符串s2填补至兰字符长度。假如字符串的长度大于len,则返回值被缩短到与兰字符相同的长度。
例子:使用rpad函数对字符串进行填充操作,如:
=#选择testdb rpad(& # 39;你好# 39;4,& # 39;? & # 39;),rpad(& # 39;你好# 39;,10日& # 39;? & # 39;);
, rpad |,,rpad ,,
- - - - - - + - - - - - - - - - - - -
,地狱|喂? ? ? ? ?
(1行)
5,删除空格的函数:ltrim (s),空白(s)和修剪(s)
ltrim (s)返回字符串年代,字符串左侧空格字符被删除。
例子:使用ltrim函数删除字符串左边的空格,如:
=#选择& # 39;testdb(书)& # 39;concat (& # 39; (& # 39; ltrim (& # 39;书& # 39;),& # 39;)& # 39;);
, ?列?| concat ,
- - - - - - - - - - - + - - - - - - - - - - - -
,(书)|(书)
(1行)
空白(s)返回字符串年代,字符串右侧空格字符被删除。
例子:使用空白函数删除字符串右边的空格,如: