PostgreSQL 文字列の文字数を取得する

PostgreSQL 文字列の文字数を取得する

PostgreSQLで、文字列の文字数を取得する手順を記述してます。「char_length」に文字列をしていすることで取得できます。マルチバイトセーフになっているので、指定する文字列がマルチバイトでも1文字としてカウントされます。

環境

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

手順

文字数を取得する場合は、「char_length」を使用します。

char_length(文字列)

実際に、実行して確認してみます。

SELECT 
char_length('abcde'),
char_length('あいうえお'),
char_length('🙊😇🙋🙏😹');

実行結果を見ると文字数が取得されていることが確認できます。

数値を指定

数値を指定するとエラーとなります。

SELECT 
char_length(12345);

ERROR:  関数char_length(integer)は存在しません
LINE 2: char_length(12345);
        ^
HINT:  指定した名前と引数型に合致する関数がありません。明示的な型変換が必要かもしれません。
SQL 状態: 42883
文字: 9

実行結果

character_length

「character_length」は「char_length」と同じです。

SELECT 
character_length('abcde'),
character_length('あいうえお'),
character_length('🙊😇🙋🙏😹');

実行結果