我遇到了一个项目的大问题,我似乎无法做对。我正在尝试将我的数据变量修改为当前的日期时间格式。第一个数据是30Mar12:00:00:00。我被建议使用下面的代码,但它返回的值如30mar60:5:30:00。我只想要日期组件,并且不知道数据是如何以这种格式导出的,因为它在Microsoft Access中不是这样的。我已经尝试了几个mod到这个代码,但再次出现完全空白或发送错误消息。
proc sql; update dataset set date = DATEPART(date); quit;
任何建议都将不胜感激。
答案 0 :(得分:2)
我猜测变量日期是数字并格式化为DATETIME。完成转换后,只需将格式更改为DATE9即可。 SAS日期时间值是自1960年1月1日以来的秒数,而日期是自1960年1月1日以来的天数。两者都存储为数字,因此使用正确的格式显示值是关键。示例如下。
data _null_;
a='30Mar12:00:00:00'dt;
b=datepart(a);
c=b;
format a b datetime. c date9.;
put a b c;
run;