↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 7.0 / 6.5 / 6.4 / 6.3
历史版本。 PostgreSQL 6.5 已结束支持。 请参阅 当前版本手册.

5.3. 字符串函数

SQL92 用特定语法定义了一些字符串函数。其中一些使用其他 Postgres 函数实现。SQL92 支持的字符串类型是 char、varchar 和 text。

表 5.3. SQL92 字符串函数

函数返回描述例子
char_length(string) int4 字符串的长度 char_length('jose')
character_length(string) int4 字符串的长度 char_length('jose')
lower(string) string 把字符串转换为小写 lower('TOM')
octet_length(string) int4 字符串的存储长度 octet_length('jose')
position(string in string) int4 指定子串的位置 position('o' in 'Tom')
substring(string [from int] [for int]) string 提取指定子串 substring('Tom' from 2 for 2)
trim([leading|trailing|both] [string] from string) string 移除字符串两侧的字符 trim(both 'x' from 'xTomx')
upper(text) text 把文本转换为大写 upper('tom')


text、varchar() 和 char() 类型还有许多其他的字符串函数可用。其中一些在内部用于实现上面列出的 SQL92 字符串函数。

表 5.4. 字符串函数

函数返回描述例子
char(text) char 把 text 转换为 char 类型 char('text string')
char(varchar) char 把 varchar 转换为 char 类型 char(varchar 'varchar string')
initcap(text) text 把每个单词的首字母转换为大写 initcap('thomas')
lpad(text,int,text) text 在左侧填充字符串到指定长度 lpad('hi',4,'??')
ltrim(text,text) text 移除文本左侧的字符 ltrim('xxxxtrim','x')
textpos(text,text) text 定位指定子串 position('high','ig')
rpad(text,int,text) text 在右侧填充字符串到指定长度 rpad('hi',4,'x')
rtrim(text,text) text 移除文本右侧的字符 rtrim('trimxxxx','x')
substr(text,int[,int]) text 提取指定子串 substr('hi there',3,5)
text(char) text 把 char 转换为 text 类型 text('char string')
text(varchar) text 把 varchar 转换为 text 类型 text(varchar 'varchar string')
translate(text,from,to) text 转换字符串中的字符 translate('12345', '1', 'a')
varchar(char) varchar 把 char 转换为 varchar 类型 varchar('char string')
varchar(text) varchar 把 text 转换为 varchar 类型 varchar('text string')


显式为 text 定义的函数大多数也适用于 char() 和 varchar() 参数。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.