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】SUMは足し算をする。その2【要約関数】【SQL】

今回もSQLのSUM(要約関数)について解説します。 過去記事でも、SQLのSUM関数について取り上げました。【SAS】SUMは足し算をする。その1【SQL】 | ビジネスイッチ (how-to-bu …

【SAS】DROPオプションの位置による処理の違い

今回はDROPオプションの付き方によって、結果が異なるケースを解説します。 (対比:KEEP 【SAS】KEEPはカラムの選択に使える。 | ビジネスイッチ (how-to-business.com) …

【SAS】FREQプロシージャは頻度集計とクロス集計をする その2【LIST】【CROSSLIST】【NOROW】【NOCOL】

今回はFREQプロシージャにオプションを用いた場合について解説します。  FREQプロシージャの基本的な使い方については過去記事で解説しています。⇒【SAS】FREQプロシージャは頻度集計とクロス集計 …

【SAS】PATHNAME関数はライブラリのディレクトリパスを返す

今回はPATHNAME関数について解説します。 data data1; Id1 = pathname(“work”); run; pathnameによりライブラリworkのディレクトリパスを代入できる …