''d DAY MDY MONTH SAS YEAR

【SAS】SASで日付を扱う(年月日)【”d】 【YEAR()】【MONTH()】【DAY()】【MDY()】

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

今回は日付を用いた様々な操作について解説します。 


/*''d*/
data data1;
  Id1 = '03jan2022'd;
run;

  • ’03jan2022’dにより日付として扱うことができる。
  • Id1はSAS日付になる。
  • 03は日
  • janは月
  • 2022は年

/* ''d 20220103 */
data data1;
  Id1 = '20220103'd;
run;

  • ‘ddMONyyyy’dでなければエラーとなる。
  • ‘yyyymmdd’dみたいにはできない。

/* year */
data data1;
  Id1 = '03jan2022'd;
  Id2 = year(Id1);
run;

  • ’03jan2022’dにより日付として扱うことができる。
  • Id1はSAS日付になる。
  • 03は日
  • janは月
  • 2022は年
  • year()で年の部分のみ抜き出せる。

/* month */
data data1;
  Id1 = '03jan2022'd;
  Id2 = month(Id1);
run;

  • ’03jan2022’dにより日付として扱うことができる。
  • Id1はSAS日付になる。
  • 03は日
  • janは月
  • 2022は年
  • month()で月の部分のみ抜き出せる。

/* day */
data data1;
  Id1 = '03jan2022'd;
  Id2 = day(Id1);
run;

  • ’03jan2022’dにより日付として扱うことができる。
  • Id1はSAS日付になる。
  • 03は日
  • janは月
  • 2022は年
  • day()で日の部分のみ抜き出せる。

/* ymd */
data data1;
  Id1 = '03jan2022'd;
  Id2 = ymd(Id1);
run;

  • ymdという関数は無い。

/* ydm */
data data1;
  Id1 = '03jan2022'd;
  Id2 = ydm(Id1);
run;

  • ydmという関数は無い。

/* myd */
data data1;
  Id1 = '03jan2022'd;
  Id2 = myd(Id1);
run;

  • mydという関数は無い。

/* mdy */
data data1;
  Id1 = '03jan2022'd;
  Id2 = mdy(Id1);
run;

  • mdyという関数はあるものの、引数は1つだと足りない。

/* mdy_2 */
data data1;
  Id1 = mdy(1,03,2022);
run;

  • mdy(月,日,年)として認識し、SAS日付に変換する。

-''d, DAY, MDY, MONTH, SAS, YEAR

執筆者:


comment

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

関連記事

【SAS】DATETIME関数はSAS日時値を取得する。

今回はDATETIME関数について解説します。 /* datetime_1 */ data data1; aaaa = datetime(); run; datetime()はSAS時間値を取得する。 …

【SAS】UPCASE関数は文字列を大文字化する。

今回はUPCASE関数について解説します。 /* upcase */ data data1; Id1=1111; char1=”US”; char2=”aaa”; output; Id1=2222; …

【SAS】”nは本来使用できない文字を使用可能にする。

今回は”nについて解説します。(参考:Solved: what the ”  ‘n ” means? – SAS Support Commu …

【SAS】SQLにおける複数テーブルの結合 その2【INNER JOIN】

今回も複数テーブルの結合について解説します。 前回の記事、【SAS】SQLにおける複数テーブルの結合 その1【UNION ALL】 | ビジネスイッチ (how-to-business.com)の続き …

【SAS】ROUNDは四捨五入して数値を丸める

今回はROUNDについて解説します。 /* 正常形 */ data work.data1; _100 = round(1234.56789, 100); _10 = round(1234.56789, …