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_ID | ADDRESS |
---|---|
u060120 | 東京都 |
u060121 | 北海道 |
u062111 | 大阪府 |
u062122 | 沖縄県 |
u063113 | 神奈川県 |
u063125 | 千葉県 |
U_ID | LEN(ADDRESS) |
---|---|
u060120 | 3 |
u060121 | 3 |
u062111 | 3 |
u062122 | 3 |
u063113 | 4 |
u063125 | 3 |
SQL実行例の説明(2)
T1_SAMPLE表からE_NAME(可変長)の文字列の長さを取得します。
-- Oracle/ Db2/ MySQL/ PostgreSQL/
SELECT U_ID, LENGTH ( E_NAME ) FROM T1_SAMPLE;
SQL実行の結果(2-1)
U_ID | E_NAME |
---|---|
u060120 | Daisuke Sato |
u060121 | Koji Hayashihara |
u062111 | tomoko ooki |
u062122 | ichiro.tanaka |
u063113 | Yuriko.Hukuda |
u063125 | tsukasa.motoyama |
U_ID | LENGTH(E_NAME) |
---|---|
u060120 | 12 |
u060121 | 16 |
u062111 | 11 |
u062122 | 13 |
u063113 | 13 |
u063125 | 16 |