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】SUMMARYは集計に便利

今回はSUMMARYについて解説します。 /*正常形*/ data data1; 契約番号=”AAAAAA”; 会社コード=”02″; 請求金額=4999; output; 契約番号=”AAAAAA” …

【SAS】データセットのオブザベーション数で処理を分岐させる方法【IF】【NOBS】

今回は、データセットのオブザベーション数により、処理を分岐させる方法について解説していきたいと思います。 (参考:【SAS】データセットの有無で処理を分岐させる方法【%IF】【EXIST】 | ビジネ …

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

今回はYYMMDDにフォーカスして解説します。 前回、PUT+DATE,YYMMDDにより、SAS日付値を日付形式に変換表示する方法を解説しました。 【SAS】PUT+DATE,YYMMDDはSAS日 …

【SAS】SETステートメントに複数データセットを設定すると縦結合できる

今回はSETについて解説します。 /* 1~7 */ data data1; Id1=1111; Char1=”AAAA”; output; Id1=2222; Char1=”BBBB”; outpu …

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

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