LEN / LENGTH 関数 - 文字列の長さを返す -

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

SQL Server, Access

LEN( 文字列 )


Oracle, DB2, MySQL, PostgreSQL

LENGTH( 文字列 )


戻り値 : 文字列の長さ

関連キーワード

CHAR_LENGTH関数(MySQL ...), LENGTHB 関数(Oracle), OCTET_LENGTH 関数(MySQL ...)

 LEN / LENGTH 関数は、指定した文字列データの長さ(文字列の後にある空白は除く)を調べるときに使用します。 このとき、文字列の長さは、漢字・ひらがな・カタカナなどのマルチバイト文字であっても 1 文字として認識されます。 なお、LENGTH 関数では、DBMS 製品よって戻り値が異なります。

-- 【説明】
-- 次の SQL 文は、「ADDRESS」列の文字列の長さを取得します。

-- SQL Server, Access

SELECT U_ID, ADDRESS, LEN(ADDRESS) FROM T_22_1;


U_IDADDRESSLEN(ADDRESS)
u060120東京都 3
u060121北海道 3
u062111大阪府 3
u062122沖縄県 3
u063113神奈川県4
u063125千葉県 3

 Oracle / PostgreSQL で使用する LENGTH 関数では、指定した文字列が漢字・ひらがな・カタカナなどのマルチバイト文字であっても 1 文字として認識されます。 なお、Oracle では文字列の後にある空白は除きません。 また、指定した文字列が固定長文字列の場合には、固定長の文字数が返されます。

-- 【説明】
-- 次の SQL 文は、「E_NAME」列の文字数を取得します。

-- Oracle

SELECT U_ID, E_NAME, LENGTH(E_NAME) FROM T_22_1;


U_IDE_NAMELENGTH(E_NAME)
u060120Daisuke Sato 64
u060121Koji Hayashihara64
u062111tomoko ooki 64
u062122ichiro.tanaka 64
u063113Yuriko.Hukuda 64
u063125tsukasa.motoyama64

-- PostgreSQL

SELECT U_ID, E_NAME, LENGTH(E_NAME) FROM T_22_1;


U_IDE_NAMELENGTH(E_NAME)
u060120Daisuke Sato 12
u060121Koji Hayashihara16
u062111tomoko ooki 11
u062122ichiro.tanaka 13
u063113Yuriko.Hukuda 13
u063125tsukasa.motoyama16

 DB2 / MySQL で使用する LENGTH 関数では、指定した文字列のバイト数を返します。 なお、指定した文字列が固定長文字列の場合には、表定義された文字列のバイト数が返されます。

-- 【説明】
-- 次の SQL 文は、「E_NAME」列(固定長文字列の場合)の文字列のバイト数を取得します。

SELECT U_ID, E_NAME, LENGTH(E_NAME) FROM T_22_1;


U_IDE_NAMELENGTH(E_NAME)
u060120Daisuke Sato 64
u060121Koji Hayashihara64
u062111tomoko ooki 64
u062122ichiro.tanaka 64
u063113Yuriko.Hukuda 64
u063125tsukasa.motoyama64

-- 【説明】
-- 次の SQL 文は、「E_NAME」列(可変長文字列の場合)の文字列のバイト数を取得します。

SELECT U_ID, E_NAME, LENGTH(E_NAME) FROM T_22_1;


U_IDE_NAMELENGTH(E_NAME)
u060120Daisuke Sato 12
u060121Koji Hayashihara16
u062111tomoko ooki 11
u062122ichiro.tanaka 13
u063113Yuriko.Hukuda 13
u063125tsukasa.motoyama16

参考表

T_22_1

U_IDK_NAMEE_NAMEADDRESSRANK_CODE
u060120佐藤大輔 Daisuke Sato 東京都 66
u060121林原浩二 Koji Hayashihara北海道 65
u062111大木智子 tomoko ooki 大阪府 67
u062122田中一郎 ichiro.tanaka 沖縄県 68
u063113福田百合子Yuriko.Hukuda 神奈川県 65
u063125本山司 tsukasa.motoyama千葉県 99999