SQL-92/99 Oracle Db2 SQL Server MySQL PostgreSQL Access

SQL Server/ Access/

LEN ( 文字列 )


Oracle/ Db2/ MySQL/ PostgreSQL/

LENGTH ( 文字列 )


戻り値 : 文字列の長さ

LEN / LENGTHは指定した文字列データの長さ(文字列の後にある空白は除く)を調べるときに使用します。


データベースのソフトウェア製品のバージョンやシステム文字コードなど環境により文字列の長さが文字数やバイト数となることがありますので注意しましょう。
Oracle, SQL Server, PostgreSQL, Accessでは文字列の長さが文字数として扱われる。
Db2, MySQLでは文字列の長さがバイト数として扱われる。

Oracleでは文字列の後にある空白は除きません。

指定した文字列が固定長文字列の場合、Oracle, PostgreSQLでは固定長の文字数、Db2, MySQLでは表定義された文字列のバイト数が返されます。


関連キーワード

OCTET_LENGTH






SQL実行例の説明(1)

・T1_SAMPLE表からADDRESSの文字列の長さを取得します。


-- SQL Server/ Access/
SELECT U_ID, LEN ( ADDRESS ) FROM T1_SAMPLE;


SQL実行の結果(1-1)

文字列の長さは漢字・ひらがな・カタカナなどのマルチバイト文字であっても1文字として認識されます。(右)


U_IDADDRESS
u060120東京都
u060121北海道
u062111大阪府
u062122沖縄県
u063113神奈川県
u063125千葉県
SQL Result
U_IDLEN(ADDRESS)
u0601203
u0601213
u0621113
u0621223
u0631134
u0631253



SQL実行例の説明(2)

T1_SAMPLE表からE_NAME(可変長)の文字列の長さを取得します。


-- Oracle/ Db2/ MySQL/ PostgreSQL/
SELECT U_ID, LENGTH ( E_NAME ) FROM T1_SAMPLE;


SQL実行の結果(2-1)

U_IDE_NAME
u060120Daisuke Sato
u060121Koji Hayashihara
u062111tomoko ooki
u062122ichiro.tanaka
u063113Yuriko.Hukuda
u063125tsukasa.motoyama
SQL Result
U_IDLENGTH(E_NAME)
u06012012
u06012116
u06211111
u06212213
u06311313
u06312516