PostgreSQL 教程: 字符串函数

九月 26, 2023

本页面为您提供了最常用的 PostgreSQL 字符串函数,使您可以高效地操作字符串数据。

函数 描述 例子 结果
ASCII 返回字符的 ASCII 代码值或 UTF8 字符的 Unicode 码位 ASCII(‘A’) 65
CHR 将 ASCII 代码转换为字符或将 Unicode 码位转换为 UTF8 字符 CHR(65) ‘A’
CONCAT 将两个或多个字符串连接成一个 CONCAT(‘A’,’B’,’C’) ‘ABC’
CONCAT_WS 用分隔符连接字符串 CONCAT_WS(‘,’,’A’,’B’,’C’) ‘A,B,C’
FORMAT 基于格式字符串格式化参数 FORMAT(‘Hello %s’,’PostgreSQL’) ‘Hello PostgreSQL’
INITCAP 将字符串中的单词转换为标题式大小写 INITCAP(‘hI tHERE’) Hi There
LEFT 返回字符串中的前 n 个字符 LEFT(‘ABC’,1) ‘A’
LENGTH 返回字符串中的字符数 LENGTH(‘ABC’) 3
LOWER 将字符串转换为小写 LOWER(‘hI tHERE’) ‘hi there’
LPAD 在一个字符串左侧填充字符到一定长度 LPAD(‘123′, 5, ’00’) ‘00123’
LTRIM 从输入字符串的左侧删除包含指定字符的最长字符串 LTRIM(‘00123’, ‘0’) ‘123’
MD5 以十六进制形式返回字符串的 MD5 哈希值 MD5(‘ABC’)
POSITION 返回字符串中子字符串的位置 POSTION(‘B’ in ‘A B C’) 3
REGEXP_MATCHES 将 POSIX 正则表达式与字符串进行匹配,并返回匹配的子字符串 SELECT REGEXP_MATCHES(‘ABC’, ‘^(A)(..)$’, ‘g’); {A,BC}
REGEXP_REPLACE 将与 POSIX 正则表达式匹配的子字符串替换为新的子字符串 REGEXP_REPLACE(‘John Doe’,’(.*) (.*)’,’\2, \1′); ‘Doe, John’
REPEAT 重复字符串指定的次数 REPEAT(‘*’, 5) ‘*****’
REPLACE 将字符串中出现的所有子字符串 from 替换为子字符串 to REPLACE(‘ABC’,’B’,’A’) ‘AAC’
REVERSE 返回反转的字符串 REVERSE(‘ABC’) ‘CBA’
RIGHT 返回字符串中的最后 n 个字符。当 n 为负数时,返回除前 |n| 个之外的所有字符。 RIGHT(‘ABC’, 2) ‘BC’
RPAD 在字符串右侧填充字符到一定长度 RPAD(‘ABC’, 6, ‘xo’) ‘ABCxox’
RTRIM 从输入字符串的右侧删除包含指定字符的最长字符串 RTRIM(‘abcxxzx’, ‘xyz’) ‘abc’
SPLIT_PART 按指定分隔符分割字符串,并返回第 n 个子字符串 SPLIT_PART(‘2017-12-31′,’-‘,2) ’12’
SUBSTRING 从字符串中提取子字符串 SUBSTRING(‘ABC’,1,1) ‘A’
TO_CHAR 返回一个TEXT数据类型的字符串,表示根据指定格式格式化第一个参数的结果值 TO_CHAR(TIMESTAMP ‘2017-08-18 22:30:59’, ‘HH24:MI:SS’) ‘22:30:59’
TO_NUMBER 将字符串转换为数值 TO_NUMBER(‘12,345.6-’, ‘99G999D9S’) -12345.6
TRANSLATE 返回一个字符串,其中一组字符中的字符被另一组字符替换 TRANSLATE(‘12345’, ‘143’, ‘ax’) ‘a2x5’
TRIM 从输入字符串的左侧、右侧或两侧删除包含指定字符的最长字符串 TRIM(’ ABC ‘) ‘ABC’
UPPER 将字符串转换为大写 UPPER(‘hI tHERE’) ‘HI THERE’