*---> create format to convert 3 char month to number.;
data temp(keep=start label fmtname);
retain fmtname "$month2number";
start = 'JAN'; label=1; output;
start = 'FEB'; label=2 output;
start = 'MAR'; label=3; output;
start = 'APR'; label=4; output;
...etc...
run;
*---> create a temporary format;
proc format cntlin=temp;
run;
data test.datechar1;
set test.datechar1;
length month $3 year $4;
month=substr (date,1,3);
year=substr (date,5,4);
*---> convert the month to a number.;
monthn = put(month,$month2number.);
*---> create a SAS date as though it is the first day of the month.;
sasdateout = mdy(monthn,1,year);
attrib sasdateout length=8 format=EURDFDMY7.;
run;
... View more