PostgreSQL 指定した文字列の位置を取得する

PostgreSQL 指定した文字列の位置を取得する

PostgreSQLで、指定した文字列の位置を取得する手順を記述してます。「strpos」に対象の文字列と位置を取得したい文字列を指定することで可能です。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • PostgreSQL 14.0
  • pgadmin 6.0

文字列の位置を取得

指定した文字列の位置を取得したい場合は、「strpos」を使用します。

strpos( 検索される文字列 , 検索する文字列)

※値が存在しない場合は「0」が返ります。

実際に文字列「ABCDE」から、「CD」が最初に見つかった位置を取得してみます。

select strpos('ABCDE','CD')

実行結果

「CD」が最初にあった位置である「3」が取得されていることが確認できます。

strposは、最初に見つかった位置を返すので、以下の場合は「3」が返ります。

select strpos('ABCDEABCDE','CD')

実行結果

サロゲートペア

サロゲートペアでも、同様に取得可能です。

select strpos('😀😁😂😃😄','😂😃')

実行結果