PostgreSQL では、CHAR_LENGTH() 関数は文字列内の文字数を返すために使用されます。この関数は、テキスト文字列を扱う場合の LENGTH() 関数と同義です。どちらの関数も、文字列の長さを調べるという同じ目的を果たします。

CHAR_LENGTH() の構文:

CHAR_LENGTH(string)

string: 長さを判定する文字列。

例1: 基本的な使用方法

特定の文字列の長さを取得するには、CHAR_LENGTH()関数を使用します。

SELECT CHAR_LENGTH('PostgreSQL') AS char_length;

出力:

PostgreSQL の CHAR_LENGTH() 1

例2: 列値の長さを取得する

列 colour を持つテーブル summerfruits があり、各色の長さを取得したいとします。

PostgreSQL の CHAR_LENGTH() 2
select *,CHAR_LENGTH(colour) as colour_length from Summerfruits;

結果の表は次のようになります

出力:

PostgreSQL の CHAR_LENGTH() 3

例3: 文字列の長さに基づくフィルタリング

文字列の長さに基づいて行をフィルタリングしたい場合があります。たとえば、summerfruitテーブルで、名前が8文字を超える果物をフィルタリングしたい場合などです。

select *,CHAR_LENGTH(name) as name_length from Summerfruits where CHAR_LENGTH(name) > 8;

CHAR_LENGTH()関数を使用して上記の条件に基づいてフィルタリングすると、結果のテーブルは次のようになります。

出力:

PostgreSQL の CHAR_LENGTH() 4

例4: 結合された文字列の長さ – PostgreSQLの2つの列の結合された長さ

結合された文字列の長さを知りたい場合は、文字列を連結してから長さを取得します。

SELECT *, CHAR_LENGTH(name || ' - ' || shape) AS combined_length FROM Summerfruits;

CHAR_LENGTH() 関数を使用して、2つの列「name」と「shape」の合計長さを計算します。結果のテーブルは次のようになります。

出力:

PostgreSQL の CHAR_LENGTH() 5

例5: PostgreSQLテーブルの列の平均文字列長を計算する

文字列列の平均長を知りたい場合は、CHAR_LENGTH()とAVG()関数を併用することができます。

select *,
       AVG(CHAR_LENGTH(name)) over all_rows as avg_name_length
from Summerfruits
window all_rows as ();

結果の表は次のようになります

出力:

PostgreSQL の CHAR_LENGTH() 6