SQL LENGTH 関数を使用して文字列の長さを取得する

概要: このチュートリアルでは、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 テーブルを参照してください。
employees_table

次のステートメントは、名前が最も長い上位 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)
SQL LENGTH function example

クエリの仕組み。

  • まず、CONCAT 関数を使用して、名、スペース、姓を連結することで、従業員のフルネームを作成します。
  • 次に、LENGTH 関数を適用して、各従業員のフルネームの文字数を返します。
  • 3 番目に、LENGTH 関数の結果で結果セットをソートし、ソートされた結果セットから 5 行を取得します。

このチュートリアルでは、SQL LENGTH 関数を使用して文字列の文字数を取得する方法を学習しました。

このチュートリアルは役に立ちましたか?