substr()

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

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

substr() 函数在 PostgreSQL 6.1 中被添加。

用法

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

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

功能上,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()”的任何评论、建议或更正:此处