substr()

用于返回字符串子字符串的函数

substr() 是一个系统函数,用于返回从字符串中指定位置开始的子字符串。

substr() 添加于 PostgreSQL 6.1

用法

substr ( string text, start integer [, count integer ] ) → text

substr() 返回从指定起始位置(第一个字符从 1 开始计数)开始的字符串部分,可以选择指定字符数,否则直到字符串结束。如果起始位置超过字符串末尾,则返回空字符串。如果提供负起始值,则返回整个字符串;如果指定了字符数,则返回从字符串开头到从 start 加上 count 得到的位置的字符。

在功能上,substr() 等效于 SQL 标准,尽管更冗长 substring() 函数。

变更历史

示例

substr() 的基本用法示例

postgres=# SELECT substr('foobar', 4);
 substr 
--------
 bar
(1 row)

返回指定数量的字符

postgres=# SELECT substr('foobar', 3, 3);
 substr 
--------
 oba
(1 row)

substr() 支持多字节字符

postgres=# SELECT substr('ほげほげ', 1, 2);
 substr 
--------
 ほげ
(1 row)

允许使用负起始值,尽管实际用途有限

postgres=# SELECT substr('foobar', -3);
 substr 
--------
 foobar
(1 row)

postgres=# SELECT substr('foobar', -3, 3);
 substr 
--------
 
(1 row)

postgres=# SELECT substr('foobar', -3, 7);
 substr 
--------
 foo
(1 row)

不允许使用负子字符串长度

postgres=# SELECT substr('foobar', 4, -1);
ERROR:  negative substring length not allowed

分类

字符串操作系统函数

参见

substring()strpos()

反馈

提交任何关于 "substr()" 的评论、建议或更正 此处