0. 実験ユーザー「dicdic」でコネクトする。
SQL> conn dicdic/Oracle11g
接続されました。
SQL>
|
1. 【文字数】LENGTH関数を使うと、文字列の文字数を返す。ヘッダのところで、スペースが端折られて表示されているのが気になるが、しっかりスペースもカウントしているのでご安心を。
SQL> SELECT LENGTH('川辺 颯') FROM DUAL;
LENGTH('川辺颯')
----------------
4
SQL>
|
2. LENGTH関数では、全角と半角が混在していても、純粋に「(スペースも含めた)文字数を返す」という動作をする。
SQL> SELECT LENGTH('颯チャン ') FROM DUAL;
LENGTH('颯チャン')
---------------
5
SQL>
|
3. 【バイト数】LENGTH関数を使うと、文字列のバイト数を返す。やはりヘッダのところでスペースが
端折られて表示されているが、スペースもちゃんとカウントしている。
SQL> SELECT LENGTHB('川辺 颯') FROM DUAL;
LENGTHB('川辺颯')
-----------------
8
SQL> SELECT LENGTHB('颯チャン ') FROM DUAL;
LENGTHB('颯チャン')
----------------
6
SQL>
|
4. 文字数なんか数えてどうすんの? という感じだが、せっかくのSQLなので、サンプルデータベースの
データの文字数を数えてみよう。実際の業務はこんな使われ方をする。
SQL> SELECT 氏名,LENGTH(氏名) 文字数, LENGTHB(氏名) バイト数 FROM TT01_学生 WHERE 氏名 Like '川辺%';
氏名 文字数 バイト数
---------------------------------------- ---------- ----------
川辺 希実 5 10
川辺 颯 4 8
川辺 修司 5 10
川辺 佐和 5 10
川辺 富士雄 6 12
SQL>
|
|