我有一个奇怪的情况,我将日期作为角色,例如2014年5月6日。我将它们转换为SAS日期如下:
data ae;
set ae;
format aestdt date10.;
aestdt=input(aestdat,date9.);
put aestdt=YYMMDD10.;
run;
我得到的输出变量是将日期从2014年改为2020年。所以在上面的例子中,我得到06MAY2020。所有的月份和日子看起来都是正确的,所以我无法弄清楚为什么岁月会改变我。有什么想法吗?
答案 0 :(得分:4)
这是因为你把它带进date9.
。信息中的9
表示how many characters do we look at to create this number?
。 06/MAY/2014
不是9个字符,而是11个字符。
data ae;
aestdat='06/MAY/2014';
format aestdt date10.;
aestdt=input(aestdat,date11.);
put aestdt=YYMMDD10.;
run;
这给出了预期的结果。