DATEPART DATETIME PUT SAS TOD

【SAS】SAS日時値をyyyymmddhhmmss形式にする。【PUT】【DATETIME】【DATEPART】【TOD】

投稿日:

今回はdatetime関数を使って、SAS日時値を取得した後、yyyymmddhhmmss形式に加工する方法を解説していきます。

(参考PUT:【SAS】PUTはSAS日付値をフォーマットを変換して表示する【DATE】【YYMMDD】【DATETIME】【TIME】【TOD】 | ビジネスイッチ (how-to-business.com)

(参考DATETIME:【SAS】DATETIME関数はSAS日時値を取得する。 | ビジネスイッチ (how-to-business.com)

(参考DATEPART:【SAS】SAS日時値からSAS日付値に変換する方法【DATEPART】【DATETIME】【DATE】 | ビジネスイッチ (how-to-business.com)

(参考TOD:【SAS】SAS日時値から0埋めの時間表記に変換する方法【TOD】【DATETIME】【PUT】 | ビジネスイッチ (how-to-business.com)


/* yyyymmddhhmmss */
data data1;
  id1 = datetime();
  id2 = datepart(id1);
  id3 = put(id2,yymmddn8.);
  id4 = put(id1,tod8.);
  id5 = transtrn(id3 || id4, ":", compress(""));
run;
  • id1・・・SAS日時値の取得
  • id2・・・id1からSAS日付値を取得
  • id3・・・id2をyyyymmdd形式にする。
  • id4・・・id1をhh:mm:ss形式にする。
  • id5・・・yyyymmddhhmmss形式にする。(id3とid4の結合、「:」の除去)

-DATEPART, DATETIME, PUT, SAS, TOD

執筆者:


comment

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

関連記事

【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】MEANSも集計に便利(デフォルトで結果を出力)【NOPRINT】

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

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

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

【SAS】ORDER BY句無しで抽出した際の出力順【SQL】

この記事の要約:「ORDER BYを使わない場合、SQLで抽出した際の並び順は保証されない」 SQL文で抽出を行った際に、困ったことが起きました。 同じPG文なのに1回目と2回目で出力結果に違いがある …

【SAS】%SYSFUNC関数はデータステップの外でも関数を使えるようにする。その2(%LETステートメント中の挙動)

今回は%SYSFUNC関数について、%LETステートメント中の挙動に着目して解説します。 /* substr */ %let a = substr(123456789, 2, 4); data dat …