pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
SQL92 用特定语法定义了一些字符串函数。其中一些是用其他 内部字符串函数实现的。SQL92 支持的字符串类型是 char、varchar 和 text。
表 5.4. 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.5. 字符串函数
| 函数 | 返回 | 描述 | 例子 |
|---|---|---|---|
| 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() 参数。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。