我有一个8位数的出生日期(例如,19860710)。如何提取年份部分的4位数字并将其存储在SAS的新变量(例如1986)中?
答案 0 :(得分:1)
我建议在处理日期时(几乎)始终转换为SAS日期。你会以这种方式避免很多头痛。
data wanted;
sas_date=input('19860710', yymmdd8.);
Sae_year=year(sas_date);
call symput('Year_mac_var', Sae_year);
run;
%put &Year_mac_var.;
1986
您可以通过Substring Proc sql或算术方式完成此操作。这正是我喜欢的。
答案 1 :(得分:1)
使用子字符串:
num=19860710; /*Date as Numeric*/
txt=put(num,8.); /*Change Numeric to Char*/
year=substr(txt,1,4);
或者
year=substr("19860710",1,4);
答案 2 :(得分:0)
data _null_;
date=19860710;
year=year(input(put(date,8.),yymmdd8.));
put year;
run;