@634

Oracle PL/SQL - char と varchar2 の比較

Advertisement

比較

char型変数にその変数の最大長に満たない値を設定すると、足りない桁数分のスペースが自動的に設定される。
よって、内容が同じでも型の違う項目同士を比較するとマッチしないため、注意が必要。

サンプルコード
declare
    name1 char(10);
    name2 varchar2(10);
begin
    name1 := 'hello';
    name2 := 'hello';

    if name1 = name2 then
        dbms_output.put_line('if');
    else
        dbms_output.put_line('else');
    end if;
end;
実行結果
else
プロシージャからプロシージャを呼び出すときの引数項目などで、可変長の項目をcharで渡してしまっているミスなど、ありがちなので注意が必要。

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール