hi
I have a birth variable in a dataset which is character type. Now I want to convert into is8601da. format. First I created another variable to change the birth variable to numeric and then use the put function to apply the format. I have tried the below code:
birth1=input(birth,anydtdtm20.);
BRTHDTC=put(birth1,is8601da.);
birth variable format in the dataset ::::1988-08-29
I got ********** this for BRTHDTC. What am I doing wrong? Can anybody help me with this.
TIA.
data have;
birth='1988-08-29';
birth_numeric=input(birth,anydtdte.);
format birth_numeric is8601da.;
run;
You can't use informat anydtdtm. because that expects date/time values, and you have only a date value, so you need informat anydtdte.
Here is a useful reference regarding dates, times and datetimes in SAS.
https://communities.sas.com/t5/SAS-Communities-Library/Working-with-Dates-and-Times-in-SAS-Tutorial/... has a PDF with much information about dates.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.