文字列式の文字数を返す汎用 SQL 関数です。
Synopsis
CHAR_LENGTH(string-expression)
CHAR_LENGTH は、与えられた文字列式について、そのバイト数ではなく、文字数を示す整数を返します。この数値には、先頭と末尾の空白や文字列の終了文字の数も含まれます。
CHAR_LENGTH は、NULL 値を渡すと NULL を返し、空文字列 ('') の値を渡すと 0 を返します。
数値は、文字数がカウントされる前に解析されます。引用符に囲まれた数値文字列は解析されません。以下の例では、最初の
CHAR_LENGTH は 1 を返し (数値の解析によって先頭と末尾の空白が削除されるため)、2 番目の
CHAR_LENGTH は 7 を返します。
SELECT DISTINCT CHAR_LENGTH(007.000) AS NumLen,
CHAR_LENGTH('007.000') AS NumStringLen
FROM Sample.Employee
以下の例は、Sample.Employee テーブルの、州の省略形フィールド (Home_State) にある文字の数を返します (米国のすべての州には 2 文字の郵便用省略形が付けられています)。
SELECT DISTINCT CHAR_LENGTH(Home_State) AS StateLength
FROM Sample.Employee
以下の例は、各従業員の名前とその名前の文字数を、文字数の昇順で返します。
SELECT Name,
CHAR_LENGTH(Name) AS NameLength
FROM Sample.Employee
ORDER BY NameLength
SET a=$CHAR(960)_"FACE"
WRITE !,a
&sql(SELECT CHAR_LENGTH(:a)
INTO :b
FROM Sample.Person)
IF SQLCODE'=0 {
WRITE !,"Error code ",SQLCODE }
ELSE {
WRITE !,"The CHAR length is ",b }