PUT SAS YYMMDD

【SAS】YYMMDDの可能性を考える(表示できる日付形式はどこまでなのか)区切り文字の解説も

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

今回はYYMMDDにフォーカスして解説します。

前回、PUT+DATE,YYMMDDにより、SAS日付値を日付形式に変換表示する方法を解説しました。

今回はどこまで表現できるのか、YYMMDDの可能性を考察していきたいと思います。


/* yyyyn4. */
data work.data1;
	a=put(today(), yyyyn4.);
run;
  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”23E3″になっている。
  • yyyyn4でyyyy形式にはならず、22581が指数で表現されている。

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”23E3″になっている。
  • mmddn4でmmdd形式にはならず、22581が指数で表現されている。

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”2110″になっている。
  • yymmn4でyymm形式になった。

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”22581″になっている。
  • yyyyddn6でyyyydd形式にはならず、22581が表現されている。

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”22581″になっている。
  • yyyymmn6でyyyymm形式にはならず、22581が表現されている。

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”22581″になっている。
  • yyyymmddn8.でyyyymmdd形式にはならず、22581が表現されている。

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

  • 数値型⇒文字型への変換はputを使う。
  • yymm4でエラーとなった。(yymm6.なら処理が通るかも?)

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”2021-10-28″になっている。
  • yymmdd10.でyyyy-mm-dd形式になっている。
  • デフォルトだと区切り文字に「-」が入る。

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”2021/10/28″になっている。
  • yymmdds10.でyyyy/mm/dd形式になっている。
  • sだと区切り文字に「/(slash)」が入る。

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”2021.10.28″になっている。
  • yymmddp10.でyyyy.mm.dd形式になっている。
  • pだと区切り文字に「.(period)」が入る。

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”2021 10 28″になっている。
  • yymmddb10.でyyyy mm dd形式になっている。
  • bだと区切り文字に「” “(space)」が入る。

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

  • 数値型⇒文字型への変換はputを使う。
  • 数値型22581⇒文字型”2021:10:28″になっている。
  • yymmddc10.でyyyy:mm:dd形式になっている。
  • cだと区切り文字に「:(colon)」が入る。

-PUT, SAS, YYMMDD

執筆者:


comment

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

関連記事

【SAS】LIBNAMEステートメントはExcelファイルをライブラリとして割り当てることができる。【SAS Base Programming対策5】

今回はLIBNAMEステートメントを用いてExcelファイルをライブラリ参照する方法について触れていきます。 SAS Base Programmingの試験を2回受験しましたが、2回ともExcelファ …

【SAS】FORMATプロシージャはフォーマットルールを定義し、値を書き換える。その2

今回もFORMATプロシージャについて解説します。 前回は値の範囲によって、定義されたフォーマットルールに従い、値を書き換えるという内容でした。 【SAS】FORMATプロシージャはフォーマットルール …

【SAS】SAS日時値からSAS日付値に変換する方法【DATEPART】【DATETIME】【DATE】

今回はDATETIMEでSAS日時値を取得した後、SAS日付値に変換する方法について解説していきます。 (つまり、DATETIMEの値からDATEの値に変換する) (DATETIME:【SAS】DAT …

【SAS】SQLプロシージャはSQLを実行できる。

今回はSQLプロシージャについて解説します。 /* sql_1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2 …

【SAS】「引用符で囲まれた文字列の後の識別子の意味は、将来のSASリリースで変わる可能性があります。」の対処法【NOTE】

今回は、 「引用符で囲まれた文字列の後の識別子の意味は、将来のSASリリースで変わる可能性があります。」 とログメッセージが出た時の対処法について解説します。 /* メッセージ_1 */ data d …