今回も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;

- 数値型⇒文字型への変換はputを使う。
- 数値型「1988281527.2」⇒文字型「02JAN2023:12:25:27」になっている。
- datetime20.によって日時表記になっている。
- (参考:【SAS】DATETIME関数はSAS時間値を取得する。 | ビジネスイッチ (how-to-business.com))
/* 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;

- 数値型⇒文字型への変換はputを使う。
- 数値型「3661」⇒文字型「01:01:01」になっている。
- tod8.によって時間表記(HH:MM:SS)になっている。
- 先頭の0は表示される。
- (参考:【SAS】SAS日時値から0埋めの時間表記に変換する方法【TOD】【DATETIME】【PUT】 | ビジネスイッチ (how-to-business.com))