2018年9月26日水曜日

2つの文字を大文字・小文字区別せずに比較する





クマのプーさんの実写映画のやつ観に行ってきました。
プーさんが異常に可愛かったです。あとプーさんってぬいぐるみ設定だったんですね、知らなかった。。




プーさんの話は置いといて、
タイトルの通り、2つの文字を大文字・小文字区別せずに比較する方法を紹介したいと思います。


サンプルデータ

data test;
input a:$10. b:$10.;
cards;
pooh POOH
honey hunny
;



大文字・小文字区別せずに比較する

data out1;
  set test;

  /* 比較する文字がシングルバイト文字のみの場合 */
  if compare(a,b,'i') = 0 then same_flg1=1;

  /* 比較する文字に日本語等マルチバイト文字を含む場合 */
  if kcompare(a,b,'i') = 0 then same_flg2=1;

run;





COMPARE( 対象変数1, 対象変数2, 'i' )」というように、3つめの引数に「'i'」と指定することで大文字・小文字区別せずに比較することができます。
戻り値が「0」なら一致してるということです。

「COMPARE関数」は日本語等のマルチバイト文字に対応していないので、マルチバイトを含む場合は「KCOMPARE関数」を使用します。



0 件のコメント:

コメントを投稿