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】TODAY()とDATE()はどちらもSAS日付値を取得する。

以下の2記事でtoday()を使ってきました。 【SAS】PUT+DATE,YYMMDDはSAS日付値をフォーマットを変換して表示する 【SAS】YYMMDDの可能性を考える(表示できる日付形式はどこ …

【SAS】足し算。その2(SUM関数を用いた計算)

今回はSUM関数を用いた足し算について解説します。  (前回は+演算子を用いた足し算について解説しました。⇒【SAS】足し算。その1(+演算子を用いた計算)) /* sum */ data …

【SAS】SAS日時値から0埋めの時間表記に変換する方法【TOD】【DATETIME】【PUT】

今回はDATETIMEでSAS日時値を取得した後に、TODを使って0埋めの時間表記に変換する方法について解説していきます。 (PUTの形式変換:【SAS】PUT+DATE,YYMMDDはSAS日付値を …

【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 …

【SAS】SUBSTR関数を使って右から文字列を切り取る方法について解説【LENGTHN】

今回はSUBSTR関数を使って右から文字列を切り取る方法について解説します。 (参考:【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。 | ビジネスイッチ (how-to-busine …