PostgreSQL có POSITION()
hàm trả về chỉ mục bắt đầu đầu tiên của một chuỗi con được chỉ định trong một chuỗi.
Nếu chuỗi con không tồn tại trong chuỗi, thì số không được trả về.
Cú pháp
Cú pháp như sau:
position ( substring text IN string text )
Ví dụ
Dưới đây là một ví dụ để chứng minh:
SELECT POSITION('and' IN 'Two Hands');
Kết quả:
6
Như đã đề cập, nếu không tìm thấy chuỗi con trong chuỗi, thì số không được trả về:
SELECT POSITION('squid' IN 'Two Hands');
Kết quả:
0
Đối số rỗng
Giá trị rỗng trả về null
:
\pset null '<null>'
SELECT
POSITION(null IN 'Two Hands') AS "1",
POSITION('and' IN null) AS "2";
Kết quả:
1 | 2 --------+-------- <null> | <null>
Bỏ qua đối số
Bỏ qua đối số dẫn đến lỗi:
SELECT POSITION();
Kết quả:
ERROR: function pg_catalog.position() does not exist LINE 1: SELECT POSITION(); ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.