DATE DATETIME PUT SAS TIME TOD YYMMDD

【SAS】PUTはSAS日付値をフォーマットを変換して表示する【DATE】【YYMMDD】【DATETIME】【TIME】【TOD】

投稿日:2021年10月27日 更新日:

今回もPUTについて解説します。 

前回、PUTは数値型⇒文字型への変換ができると解説しました。(参考:【SAS】PUTは数値型を文字型に変換する | ビジネスイッチ (how-to-business.com)

今回はその延長としてSAS日付値を様々な日付形式で表示する方法について解説していきます。


/* date9. */
data work.data1;
  a = put(today(), date9.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22579⇒文字型”26OCT2021″になっている。
  • date9.によって日付表記になっている。(ddMONyyyy)

/* date7. */
data work.data1;
  a = put(today(), date7.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22579⇒文字型”26OCT21″になっている。
  • date7.によって日付表記になっている。(ddMONyy)

/* date5. */
data work.data1;
  a = put(today(), date5.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22579⇒文字型”26OCT”になっている。
  • date5.によって日付表記になっている。(ddMON)

/* date8. */
data work.data1;
  a = put(today(), date8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22580⇒文字型”27OCT21″になっている。
  • date8.によって日付表記になっている。(date8.は存在しないので、一番近いdate7.形式のddMONyyになる。)

/* yymmn4. */
data work.data1;
  a = put(today(), yymmn4.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22580⇒文字型”2110″になっている。
  • yymmn4.によって日付表記になっている。(yymm)

/* yymmddn6. */
data work.data1;
  a = put(today(), yymmddn6.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22580⇒文字型”211027″になっている。
  • yymmddn6.によって日付表記になっている。(yymmdd)

/* yymmddn8. */
data work.data1;
  a = put(today(), yymmddn8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22580⇒文字型”20211027″になっている。
  • yymmddn8.によって日付表記になっている。(yyyymmdd)

/* yymmddn7. */
data work.data1;
  a = put(today(), yymmddn7.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22580⇒文字型”211027″になっている。
  • yymmddn7.によって日付表記になっている。(yymmddn7.は存在しないので、一番近いyymmddn6.形式のyymmddになる。)

/* datetime20. */
data data1;
  id1 = datetime();
  id2 = put(id1, datetime20.);
run;

/* time8. */
data data1;
/*   id1 = time(); */
  id1 = 3661;
  id2 = put(id1, time8.);
run;
  • 数値型⇒文字型への変換はputを使う。
  • 数値型「3661」⇒文字型「1:01:01」になっている。
  • time8.によって時間表記(HH:MM:SS)になっている。
  • 先頭の0は表示されない。

/* time8. */
data data1;
/*   id1 = time(); */
  id1 = 3661;
  id2 = put(id1, tod8.);
run;

-DATE, DATETIME, PUT, SAS, TIME, TOD, YYMMDD

執筆者:


comment

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

関連記事

【SAS】PRINTプロシージャは入力データセットの中身を結果に表示する【obs=】

今回はPRINTプロシージャについて解説します。 /* print */ data data1; 番号=”AAAAAA”; コード=”02″; 金額=1999; output; 番号=”AAAAAA” …

【SAS】MEANSも集計に便利(デフォルトで結果を出力)【NOPRINT】

今回はMEANSについて解説します。 似た文法でSUMMARYプロシージャがあります。 【SAS】SUMMARYは集計に便利 今回のMEANSプロシージャも集計を行うのですが、こちらはデフォルトで「結 …

【SAS】LIBNAMEはディレクトリパスをライブラリに割り当てる

今回はLIBNAMEについて解説します。 ちなみにSAS Base Programmingでは、LIBNAMEができないと前半の記述問題が解けません。(データセットが与えられるので、割り当てられないと …

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

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

【SAS】%MACROはマクロを定義することができる。その5 =を使うと数を渡す引数,数を受け取る引数を指定できる。【%MEND】

今回はマクロ引数に「=」を用いる方法について解説していきたいと思います。(事前に読んでおきたい記事:【SAS】%MACROはマクロを定義することができる。その3 マクロには引数を設定できる。【%MEN …