here is my code --> data want; set have; day=substr(birthdate,1,1); month=substr(birthdate,2,1); year=substr(birthdate,7,1); if day eq "-" and month eq "-" then year=substr(birthdate,3,4); else if day eq "-" and month ne "-" then year=substr(birthdate,6,4); else if year eq "-" then year="0000"; else if month eq "-" then year=substr(birthdate,5,4); if day eq "-" then day="01"; else if day ne "-" then do; day=substr(birthdate,1,2); /*Day*/ month=substr(birthdate,3,1); end; if month eq "-" then month="Jan"; else if month ne "-" then month=substr(birthdate,2,3); converted_date=day||"-"||month||"-"||year; run; but there is a issue my output has some missing values--> here is my output data birthdate day month year converted_date 1 -Jan-1975 01 Jan 1975 01 -Jan-1975 2 --1977 01 Jan 1977 01 -Jan -1977 3 02--1978 02 Jan 7 02 -Jan -7 4 03-Jan- 03 Jan 0000 03 -Jan -0000 in the 3 observation the year isn't getting displayed so whats the issue i can't solve & the code has zero errors
... View more