Hi,
I have a variable called "Date" which is currently in a CHAR format $15 and the dates are displayed as Jan-18, Feb-18 etc.
How do I change this to show a date format, ideally to keep the same format if possible like Jan-18, Feb-18.
I have tried this but the new variable just shows a '.'
input(date, yymmn6.) as newdate,
Missed a dot:
data have; date='Jan-18'; run; proc sql; create table want as select input(cats('01',compress(date,"-")),date7.) as newdate format=monyy6. from have; quit;
Please note above how simple it is to provide test data, and show code you are using, it saves us guessing.
A date has to have all three components, even if you decide to format it to show less than that. So you need to append a default day value:
input(cats('01',compress(date,"-")),date7.) as newdate format=monyy6,
Missed a dot:
data have; date='Jan-18'; run; proc sql; create table want as select input(cats('01',compress(date,"-")),date7.) as newdate format=monyy6. from have; quit;
Please note above how simple it is to provide test data, and show code you are using, it saves us guessing.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.