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】IFステートメントは処理を分岐できる。その4~THEN DO, ELSE DO~【END】

今回はIF文の分岐で、複数の命令を実行する方法について、解説していきます。 【併せて読みたい記事】 【SAS】IFステートメントは処理を分岐できる。その1 | ビジネスイッチ (how-to-busi …

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

今回はTRANSPOSEについて解説します。 /* num char char */ data data1; NO=1111; CHAR=”A”; MOJI=”AAAA”; output; NO=22 …

【SAS】DATASETSプロシージャを使ってデータセットを削除する。その2【KILL】

今回はDATASETSプロシージャを使ってデータセットを削除する方法の続きを解説していきます。(前回の参考:【SAS】DATASETSプロシージャを使ってデータセットを削除する。【DELETE】 | …

【SAS】COMPAREはデータセットの比較に便利

今回はCOMPAREについて解説します。 /* 正常形 */ data data1; id=”A”; chiku=”SHINJUKU”; output; id=”B”; chiku=”ICHIGAYA …

【SAS】「NOTE: PROC SQLはNOEXECオプションを設定し、ステートメントの構文をチェックします。」の対処法

今回はSQLプロシージャを実行した際に、NOEXECオプションを使用していないにも関わらず、 勝手にNOEXECオプションが有効になってしまう場合の対処法について解説します。 結論:構文エラーを正す。 …