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】データセットのエンコードを答えさせる問題【CONTENTS】【SAS Base Programming対策7】

今回はデータセットのエンコードを答えさせる問題について解説します。SAS Base Programming試験を受けたときに出題されました。 data data1; Id1=1111; Id2=111 …

【SAS】INTNX関数は指定期間の条件を満たす日付けを返す。

今回はINTNX関数について解説します。 /* intnx_1 */ data data1; Id1 = intnx(“YEAR”,’16jan2022’d,1); format Id1 yymmdd …

【SAS】SUMは足し算をする。その1【SQL】

今回はSQLのSUMについて解説します。 /* SUM_1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=222 …

【SAS】TRANSPOSEは縦持ち、横持ちを変換できる。その2

今回もTRANSPOSEについて解説します。 前回は縦持ち⇒横持ちにする流れで解説してきました。 【SAS】TRANSPOSEは縦持ち、横持ちを変換できる。その1 今回は横持ち ⇒ 縦持ちの流れに沿っ …

【SAS】オブザベーションを跨いだ計算【RETAIN】【SAS Base Programming対策4】

/* retain */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2222; Id3=2222; output; …