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ラボ UIコレクションギャラリー サイト検索Y!ログール |