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.
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 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.