Hi all,
Could you please advise how to convert mmm yyyy into iso format.
data have; input cdate $10.; datalines; Mar 2017 ; run;
I badly need the date in iso format: 2017-03
Thank you!
If you want to keep your date as a character value than this would do the trick:
length sdate $8;
sdate=put(input(cdate, monyy8.), yymmd8.);
The SAS ISO formats always display the date. In your specific case it looks like you can get away with a more common date format.
In general I would recommend to read up on how SAS deals with dates as they are usually stored as numeric values and formatted in a desired form when presenting the value in a report or such. A good start would be the online docs.
Hope this helps,
-- Jan
If you want to keep your date as a character value than this would do the trick:
length sdate $8;
sdate=put(input(cdate, monyy8.), yymmd8.);
The SAS ISO formats always display the date. In your specific case it looks like you can get away with a more common date format.
In general I would recommend to read up on how SAS deals with dates as they are usually stored as numeric values and formatted in a desired form when presenting the value in a report or such. A good start would be the online docs.
Hope this helps,
-- Jan
I suugest to use the ANYDTDTE informat, this will give you a SAS date value, that can be used for many things, see example below
data have;
input
@1 cdate $10.
@1 sasDate anydtdte.
;
sasDate2 = sasDate;
format sasDate yymmd7. sasDate2 date9.;
datalines;
Mar 2017
;
run;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.