在 PostgreSQL 中,沒有內置的 indexof
函數,但可以使用 position
函數來實現類似的功能。position
函數可以返回一個子字符串在另一個字符串中首次出現的位置。
例如,假設有一個表 example_table
,其中有一個字段 example_field
包含字符串數據,你可以使用以下查詢語句來獲取某個子字符串在字段值中的位置:
SELECT position('substring' IN example_field) AS index
FROM example_table;
這將返回 example_field
字段值中第一次出現 'substring'
的位置。如果子字符串不存在,則返回 0。
如果你想獲取所有出現的位置,你可以使用 regexp_matches
函數結合正則表達式來實現:
SELECT regexp_matches(example_field, 'substring', 'g') AS indexes
FROM example_table;
這將返回一個包含所有出現 'substring'
的位置的數組。
請注意,這些查詢只能返回第一次出現的位置或所有出現的位置,并且需要根據實際情況進行調整。