LIKE SAS WHERE

【SAS】LIKE演算子は部分一致を表現できる。【WHERE】

投稿日:2022年1月2日 更新日:


/* if '%aaaa%' */
data data1;
  Id1=1111; Id2="1aaaa"; Id3=1111;
    output;
  Id1=2222; Id2="bbbb"; Id3=2222;
    output;
  Id1=3333; Id2="cccc"; Id3=3333;
    output;
run;

data data2;set data1;
  if Id2 like '%aaaa%';
run;

  • ifステートメントでlikeは使えない。

/* if '%aaaa' */
data data1;
  Id1=1111; Id2="1aaaa"; Id3=1111;
    output;
  Id1=2222; Id2="bbbb"; Id3=2222;
    output;
  Id1=3333; Id2="cccc"; Id3=3333;
    output;
run;

data data2;set data1;
  if Id2 like '%aaaa';
run;

  • ifステートメントでlikeは使えない。

/* where '%aaaa%' */
data data1;
  Id1=1111; Id2="1aaaa"; Id3=1111;
    output;
  Id1=2222; Id2="bbbb"; Id3=2222;
    output;
  Id1=3333; Id2="cccc"; Id3=3333;
    output;
run;

data data2;set data1;
  where Id2 like '%aaaa%';
run;

  • whereステートメントならlikeは使える。

/* where '%aaaa' */
data data1;
  Id1=1111; Id2="1aaaa"; Id3=1111;
    output;
  Id1=2222; Id2="bbbb"; Id3=2222;
    output;
  Id1=3333; Id2="cccc"; Id3=3333;
    output;
run;

data data2;set data1;
  where Id2 like '%aaaa';
run;

  • whereステートメントならlikeは使える。

-LIKE, SAS, WHERE

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】SASUSERライブラリの性質について解説

今回はSASUSERライブラリについて解説します。(対比参考:【SAS】WORKライブラリの性質について解説 | ビジネスイッチ (how-to-business.com)) libnameを使わなく …

【SAS】FIRST, LAST↔SORT NODUPKEYの変換

今回はfirst, last↔SORT NODUPKEYの変換について解説します。 結論を先に書くと、変換できる場合、変換できない場合とがあります。 /*sort1*/ data dat …

【SAS】FORMATプロシージャはフォーマットルールを定義し、値を書き換える。その2

今回もFORMATプロシージャについて解説します。 前回は値の範囲によって、定義されたフォーマットルールに従い、値を書き換えるという内容でした。 【SAS】FORMATプロシージャはフォーマットルール …

【SAS】ORDER BYは指定した項目の順番でレコードを並び替える。【SQL】

今回はORDER BYについて解説します。 /* order by_1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; I …

【SAS】計算で求められた変数に対するIFとWHEREの振舞いの違い【SAS Base Programming対策1】

/* where id3 */ data data1; id1=1111; id2=1111; id3=1111; output; id1=2222; id2=2222; id3=2222; outp …