data want;
set have;
day=INPUT(SUBSTR(left(opendate),1,10),yymmdd10.);
format day mmddyy10.;
run;
INPUT() converts and you can try ANYDTDTM. for a datetime
@Gil_ wrote:
I have a col classified character $31
Here is example.
2018-04-03:11:26:45:573000000
I use
Data test;
Set test;
Day=substr(left(opendate),1,10);
Format day mmddyy10.;
Run;
I used that b4 the input to convert it.
You didn't apply the format correctly and since it's a date time, it creates a date time. You can display it as a date using DTDDMMYY10 or DTDATE9 or convert it using DATEPART() to get the date portion.
@Gil_ wrote:
It converted to number here is code
Data test;
Set test;
DayTime = input(day,ANYDTDTM.);
date = datepart(dayTime);
FORMAT DAY dtdate9. date ddmmyy10.;
RUN;
data want;
set have;
day=INPUT(SUBSTR(left(opendate),1,10),yymmdd10.);
format day mmddyy10.;
run;
Even simpler (the FORMAT statement is still necessary):
day = input(opendate, yymmdd10.);
That assumes your character variable OPENDATE is left-hand-justified.
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.