1

有谁知道如何在 SAS9.3 中将日期变量从 Date9 更改为 MMDDYY10 格式?我尝试使用 put 和 input 函数,但结果为 null

4

3 回答 3

2

格式只是关于如何显示值的说明。日期是数字,表示为从 1960 年 1 月 1 日开始的天数。

data x;
format formated1 date9. formated2 mmddyy10.;
noformated = "01JAN1960"d;
formated1 = noformated;
formated2 = noformated;
run;

proc print data=x;
run;

Obs    formated1     formated2    noformated
1     01JAN1960    01/01/1960         0

简而言之,只需更改数据集上的格式,日期就会以新格式显示。

于 2013-09-30T22:04:54.123 回答
0

用于更改表中变量的格式 -PROC SQLPROC DATASETS

data WORK.TABLE1;
    format DATE1 DATE2 date9.;
    DATE1 = today();
    DATE2 = DATE1;
run;

proc contents;
run;

proc datasets lib=WORK nodetails nolist;
modify TABLE1;
    format DATE1 mmddyy10.;
quit;

proc sql;
alter table WORK.TABLE1
    modify DATE2 format=mmddyy10.
;
quit;

proc contents;
run;
于 2013-10-01T14:27:06.083 回答
0

尝试这两个功能:

tmpdate = put(olddate,DATE9.);
newdate = input(tmpdate,MMDDYY10.);

或者甚至可能

newdate = input(put(olddate,DATE9.),MMDDYY10.);
于 2013-09-30T21:46:39.010 回答