概要: このチュートリアルでは、SQL LENGTH 関数を使用して文字列の文字数を取得する方法を学習します。
SQL LENGTH 関数の紹介
SQL LENGTH 関数は、文字列の文字数を返します。 LENGTH 関数は、すべてのリレーショナルデータベースシステムで使用できます。一部のデータベースシステムでは、LENGTH 関数と同じ効果を持つ LEN 関数を使用します。
以下は、LENGTH 関数の構文を示しています。
LENGTH(string)Code language: SQL (Structured Query Language) (sql)入力文字列が空の場合、LENGTH は 0 を返します。入力文字列が NULL の場合は NULL を返します。
文字数は、ASCII 文字列のバイト数と同じです。他の文字セットでは、異なる場合があります。
LENGTH 関数は、MySQL や PostgreSQL などの一部のリレーショナルデータベースシステムではバイト数を返します。 MySQL と PostgreSQL で文字列の文字数を取得するには、代わりに CHAR_LENGTH 関数を使用します。
SQL LENGTH の例
次のステートメントは、LENGTH 関数を使用して、文字列 SQL の文字数を返します。
SELECT LENGTH('SQL');
Code language: SQL (Structured Query Language) (sql) length
--------
3
(1 row)Code language: SQL (Structured Query Language) (sql)サンプルデータベースの次の employees テーブルを参照してください。

次のステートメントは、名前が最も長い上位 5 人の従業員を返します。
SELECT
employee_id,
CONCAT(first_name, ' ', last_name) AS full_name,
LENGTH(CONCAT(first_name, ' ', last_name)) AS len
FROM
employees
ORDER BY len DESC
LIMIT 5;Code language: SQL (Structured Query Language) (sql)
クエリの仕組み。
- まず、
CONCAT関数を使用して、名、スペース、姓を連結することで、従業員のフルネームを作成します。 - 次に、
LENGTH関数を適用して、各従業員のフルネームの文字数を返します。 - 3 番目に、
LENGTH関数の結果で結果セットをソートし、ソートされた結果セットから 5 行を取得します。
このチュートリアルでは、SQL LENGTH 関数を使用して文字列の文字数を取得する方法を学習しました。
このチュートリアルは役に立ちましたか?