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.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: