時間と分に対して 00:00 を返す DHMS 関数。
日付と時刻の入力は Oracle テーブルからのもので、どちらも Number 値です。2 つの値を組み合わせて日時値を作成しようとしています。Auth_DT (DDMONYYYY) と Auth_Tm (HH:MM:SS) を作成できます。DHMS を使用して認証日時を作成しようとすると、時間と分が 00:00 と表示されますが、秒は正しいです。
私のコードのエラーについて助けていただければ幸いです。
よろしくお願いします。
data dates;
Auth_Date = 20120915;
Auth_Time = 23324;
run;
Proc SQL;
Create table mark as
Select
AUTH_DATE,
input(put(AUTH_DATE,8.),yymmdd8.) as AUTH_DT format=Date9. ,
AUTH_TIME,
input(put(AUTH_TIME,6.),hhmmss6.) as AUTH_TM format=TOD8. ,
Input(Substr( put(Auth_Time,z6.),1,2),2.) as HR ,
Input(Substr( put(Auth_Time,z6.),3,2),2.) as MIN ,
Input(Substr( put(Auth_Time,z6.),5,2),2.) as SEC ,
DHMS((input(put(AUTH_DATE,8.),yymmdd8.))
,HOUR(Input(Substr( put(Auth_Time,z6.),1,2),2.))
,MINUTE(Input(Substr( put(Auth_Time,z6.),3,2),2.))
,SECOND(Input(Substr( put(Auth_Time,z6.),5,2),2.))) as Auth_DTTM Format = datetime20.
From work.Dates;
Quit;
Auth_Date AUTH_DT Auth_Time AUTH_TM HR MIN SEC Auth_DTTM 20120915 15SEP2012 23324 02:33:24 2 33 24 15SEP2012:00:00:24