有这样一个数据

2008-07-07 12:31:39 开始定义是字符型的

如何提取数据中的月份和号数?
data a;

a='2008-07-07 12:31:39';

b=%substr(a,1,10);

c=input(b,yymmdd10.);

mm=month(c);

dd=day(c);

put mm= dd=;

run;
你还是先顺次查找标记字符,比如“-”、“:”以及空格等,然后根据两标记字符间数值的含义来确定年、月、日、时、分、秒比较保险。

总之你需要先提取出年、月、日、时、分、秒的值。

楼上的可能会有一个问题,就是月、日如果不是##格式的话,提取的结果可能不正确。
哦,就是“占2位”的意思。

当然楼主给的这个例子是这种格式的(7月为“07”),我说的是保险的做法。
7 天 后
12 天 后