トップDML文字列関数 ≫ 文字列の文字数を取得する

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

SQL中で文字列の文字数を取得する関数としてSQL92/99ではCHAR_LENGTH関数が定義されています.しかし,多くのDBMSは独自で同様の機能をもつ関数を用意しています.以下に各DBMSごとに使用可能な関数を示します.

DBMSSQL
AccessLEN
SQLServerLEN
OracleLENGTH
MySQLCHAR_LENGTH
CHARACTER_LENGTH
PostgreSQLLENGTH
CHAR_LENGTH
CHARACTER_LENGTH

ここでは各DBMSごとに文字列の文字数を取得する方法を紹介します.

Access,SQLServerの場合

AccessとSQLServerはLEN関数を使用します.

SQLサンプル

LEN関数を使用して文字列の文字数を取得する例を以下に示します.

SELECT LEN('チャーリー');

結果

SELECT LEN('チャーリー')
5

Oracleの場合

OracleはLENGTH関数を使用します.

SQLサンプル

LENGTH関数を使用して文字列の文字数を取得する例を以下に示します.

SELECT LENGTH('スヌーピー')

結果

SELECT LENGTH('スヌーピー')
5

MySQLの場合

MySQLはCHAR_LENGTH関数かCHARACTER_LENGTH関数を使用します.2つの関数は名前が違うだけで機能は同一です.

SQLサンプル

CHAR_LENGTH関数を使用して文字列の文字数を取得する例を以下に示します.

SELECT CHAR_LENGTH('ルーシー')

結果

SELECT CHAR_LENGTH('ルーシー')
4

なお,MySQLにはLENGTH関数が用意されていますが,MySQLのLENGTH関数は文字数ではなくバイト数を返す関数ですので,注意が必要です.

PostgreSQLの場合

PostgreSQLはLENGTH関数,CHAR_LENGTH関数,
CHARACTER_LENGTH関数のいずれかを使用します.いずれの関数も機能は同一です.

SQLサンプル

LENGTH関数を使用して文字列の文字数を取得する例を以下に示します.

SELECT LENGTH('スヌーピー')

結果

SELECT LENGTH('スヌーピー')
5