PostgreSQL 文字列が指定した文字列で開始されているかを判定する

PostgreSQL 文字列が指定した文字列で開始されているかを判定する

PostgreSQLで、文字列が指定した文字列で開始されているかを判定する手順を記述してます。「starts_with」に対象の文字列と判定したい文字列を指定することで可能です。実行結果はpgadmin上で確認してます。

環境

  • OS CentOS Stream release 9
  • PostgreSQL 15.1
  • pgadmin4 6.16

手順

文字列が指定した文字列で開始されているを判定するには、「starts_with」を使用します。

starts_with(文字列,判定する文字列);

※指定した文字列で開始されていれば「true」が、開始されていなければ「false」が返ります

実際に、判定してみます。

SELECT 
starts_with('abcde', 'a'),
starts_with('abcde', 'ab'),
starts_with('abcde', 'b'),
starts_with('あいうえお', 'あ'),
starts_with('あいうえお', 'い');

実行結果を見ると、判定されていることが確認できます。

空文字

空文字を指定して、空文字で判定すると「true」となります。

SELECT 
starts_with('', '');

実行結果

サロゲートペア

サロゲートペア文字のような通常の2バイトで1文字で表すところを、4バイトで1文字となるものでも、判定されます。

SELECT 
starts_with('😂😡🙅', '😂'),
starts_with('😂😡🙅', '😂😡'),
starts_with('😂😡🙅', '🙅');

実行結果