position() 是一个系统函数,用于返回一个值在一个字符串中的首次出现的位置。
position() 添加于 PostgreSQL 6.2。
用法
position (substringtextINstringtext) →integer
如果提供的 substring 不包含在提供的 string 中,则返回 0。
strpos() 使用常规函数调用语法提供等效功能。
变更历史
- PostgreSQL 18
- 添加了对非确定性排序规则的支持(提交 329304c9)
- PostgreSQL 6.2
- 添加于 (提交 bf138e21)
示例
position() 的基本用法示例
postgres=# SELECT position('bar' IN 'foobar');
position
----------
4
(1 row)
这等价于
postgres=# SELECT strpos('foobar', 'bar');
strpos
--------
4
(1 row)
如果找不到提供的字符串,则返回 0
postgres=# SELECT position('baz' IN 'foobar');
position
----------
0
(1 row)
position() 可与多字节字符串一起使用
postgres=# SELECT position('げ' IN 'ほげほげ');
position
----------
2
(1 row)
参考资料
- PostgreSQL 文档: SQL 字符串函数和操作符
