Home実験室 − No.0040


        No.0040(SQL)
        文字数を数える(LENGTH、LENGTHB)

■環境
  □OS: Windows XP Professional SP3
  □Oracle: Oracle Database 11g R2 (Standard)
  □OSログインユーザ: ORA_DBAグループ
  □Oracleユーザ: dicdic(実験用ユーザー) → 実験環境構築スクリプト

■実験
  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>





    【PR】    Oracle実験室監修  『Oracleアーキテクチャ鳥瞰図』 PDF  (Oracleのアーキテクチャを一目で俯瞰できるイラスト)  


Home実験室 − No.0040

© 2011-2011   Amateur Laboratory of ORACLE
inserted by FC2 system