data a;
input d1 : date9. d2 : datetime20. ;
format d1 date9. d2 datetime20.;
cards;
10jan2009 01feb2011:00:00:00
25nov1997 17mar2010:00:00:00
;
run;
data b;
set a;
t_d1=vformat(d1);
t_d2=vformat(d2);
if vformat(d1)="datetime20." then d11=datepart(d1);else d11=d1;
if vformat(d1)^="date9." then d111=datepart(d1);else d111=d1;
if vformat(d2)="datetime20." then d22=datepart(d2);else d22=d2;
if vformat(d2)^="date9." then d222=datepart(d2);else d222=d2;
format d11 d111 d22 d222 date9.;
run;
d111和d22给出的结果不是date9.,奇怪.
请帮忙指正一下,谢谢!