strpos() 是一个系统函数,用于返回一个字符串在另一个字符串中的起始位置。
strpos() 在 PostgreSQL 6.2 中被添加。
用法
strpos ( string text, substring text ) → integer
strpos() 返回指定子字符串的位置(以整数表示),如果未找到子字符串,则返回 0。
strpos() 区分大小写,但可以通过将参数转换为 citext 来执行不区分大小写的搜索。
变更历史
- PostgreSQL 18
- 添加了对非确定性排序规则的支持(提交 329304c9)
- PostgreSQL 6.2
- 添加于 (提交 3c2d74d2)
示例
strpos() 的基本用法
postgres=# SELECT strpos('foobar', 'bar');
strpos
--------
4
(1 row)
strpos() 区分大小写,如果未找到指定的子字符串,则返回 0。
postgres=# SELECT strpos('foobar', 'BAR');
strpos
--------
0
(1 row)
使用 citext 数据类型进行不区分大小写的搜索。
postgres=# SELECT strpos('foobar'::citext, 'BAR'::citext);
strpos
--------
4
(1 row)
strpos() 支持多字节字符。
postgres=# SELECT strpos('ほげほげ', 'げほ');
strpos
--------
2
(1 row)
参考资料
- PostgreSQL 文档: 其他字符串函数
另请参阅
反馈
请在此 提交任何关于“strpos()”的评论、建议或更正。