data TEST;
input date_have :$20. date_compare : $20.;
datalines;
00JAN2020 10NOV2020
UNJAN2020 05DEC2020
UNUNK2020 16DEC2019
UNJUN2020 14FEB2021
01JAN2020 01MAY2020
20JUN2020 01JAN2020
;
run;
DATA TEST1;
SET TEST;
/* DELETE 00, UN, UNK BY USING PRXCHANGE FUNCTION */
NEW_have=prxchange('s/^UN|^00|UNK//i',-1,date_have);
if length(NEW_have)=9 then do;
base=input(strip(NEW_have),date9.);
compare=input(strip(date_compare),date9.);
end;
if length(NEW_have)=7 then do;
base=input(strip(NEW_have),monyy7.);
compare=input(strip(substr(date_compare,3)),monyy7.);
end;
if length(NEW_have)=4 then do;
base=input(strip(NEW_have),best.);
compare=input(strip(substr(date_compare,6)),best.);
end;
flag=(base<=compare) ;
drop base compare;
RUN;
... View more