文字列式の文字の数を返す文字列関数です。
Synopsis
LENGTH(string-expression)

{fn LENGTH(string-expression)}
引数
string-expression 列の名前、文字列リテラル、他のスカラ関数の結果などを表す文字列式。基本となるデータ型は、(CHAR や VARCHAR など) 任意の文字タイプとすることができます。
概要
LENGTH は、与えられた文字列式について、そのバイト数ではなく、文字数を示す整数を返します。
LENGTH は、{ } 括弧構文による ODBC スカラ関数、または SQL 汎用関数として使用できる点に注意してください。
以下の例は、値 12 を返します。
SELECT DISTINCT LENGTH('INTERSYSTEMS') AS CharCount
FROM Sample.Person
以下の例は、先頭と末尾のゼロを削除し、長さ 1 を返します。
SELECT DISTINCT {fn LENGTH(00000.00)} AS CharCount
FROM Sample.Person
以下の 2 つの例は両方とも、先頭と末尾の空白を持つ文字列の長さを返します。1 番目は、LENGTH が末尾の空白を含まず先頭の空白を含むため、15 を返します。2 番目は、LTRIM が先頭の空白を含まないため、12 を返します。
SELECT DISTINCT LENGTH('   INTERSYSTEMS      ') AS CharCount
FROM Sample.Person
SELECT DISTINCT LENGTH(LTRIM('   INTERSYSTEMS      ')) AS CharCount
FROM Sample.Person
以下の例は、Sample.Person テーブル内の各 Name 値の文字数を返します。
SELECT Name,{fn LENGTH(Name)} AS CharCount
FROM Sample.Person
ORDER BY CharCount
以下の例は、DOB (誕生日) フィールド内の文字数を返します。(LENGTH、CHAR_LENGTH、CHARACTER_LENGTH によって) 返される長さは、日付の内部 ($HOROLOG) 形式であり、表示形式ではありません。DOB の表示長は、10 文字です。3 つの長さの関数は、すべて内部長 5 を返します。
SELECT DOB,{fn LENGTH(DOB)} AS LenCount,
CHAR_LENGTH(DOB) AS CCount,
CHARACTER_LENGTH(DOB) AS CtrCount
FROM Sample.Person
以下の例は、Unicode 文字の文字列の長さを返します。返される長さは、文字数 (7) であり、バイト数ではありません。
   SET a=$C(920)_$C(913)_$C(923)_$C(913)_$C(931)_$C(931)_$C(913)
   &sql(SELECT LENGTH(:a)
   INTO :b
   FROM Sample.Person)
   WRITE !,"The Greek Sea: ",a,!,$LENGTH(a),!,b
関連項目