Oracle SQL 関数 : LENGTH : 文字列の長さ取得

 numberRet := LENGTH( dateSrc );

 dateSrc の文字列の長さをを返します。
 文字列の中の全角文字はそれ自身を1文字として数えます。
 charのデータ型がCHARの場合、長さには後続する空白がすべて含まれます。charがNULLの場合は、NULLが返されます。 

SQL> SELECT 'the capital,TOKYO' ORGINAL, LENGTH('the capital,TOKYO') LENGTH
  2  FROM DUAL
  3  UNION
  4  SELECT 'the capital、TOKYO', LENGTH('the capital、TOKYO')
  5  FROM DUAL
  6  UNION
  7  SELECT 'あいうえお abcde 0123abcde ABCDE', LENGTH('あいうえお abcde 0123abcde ABCDE')
  8  FROM DUAL;

ORGINAL                                      LENGTH
---------------------------------------- ----------
the capital,TOKYO                                17
the capital、TOKYO               17
あいうえお abcde 0123abcde ABCDE                27

SQL>

上のSQLで LENGTH 関数は半角文字、全角文字に関係なく文字の個数として数えることが分かります。

この LENGTH に似た関数として LENGTHB が有ります。この関数は内部で持っているコードのバイト数を返します。
内部のコード体系が Shift-jis , Unicode などで各文字ごとにバイト数が変わりますので、 この関数を使うことはあまりないかと思います。

取敢えず上のSQLを LENGTHB に変えたもので実行してみます。
(私のOracleはコードを Shift-jis に設定してあります。)
SQL> SELECT 'the capital,TOKYO' ORGINAL, LENGTHB('the capital,TOKYO') LENGTHB
  2  FROM DUAL
  3  UNION
  4  SELECT 'the capital、TOKYO', LENGTHB('the capital、TOKYO')
  5  FROM DUAL
  6  UNION
  7  SELECT 'あいうえお abcde 0123abcde ABCDE', LENGTHB('あいうえお abcde 0123abcde ABCDE')
  8  FROM DUAL;

ORGINAL                                     LENGTHB
---------------------------------------- ----------
the capital,TOKYO                                17
the capital、TOKYO               34
あいうえお abcde 0123abcde ABCDE                33

SQL>