Test_date = numeric 20160501
Desired Result = 01MAY2016:00:00:00
I tried the advanced expression in in Enterprise Guide:
INPUT(PUT(t1.TEST_DATE,8.),YYMMDD10.)
format= DATETIME20
Result = 01JAN1960:05:42:55
Your value is a date so to get a date time you need a bit more:
data want;
datetime = dhms(input(put(20160501,8.),yymmdd8.),0,0,0);
put datetime datetime20.;
run;
the DHMS function adds hours, minutes and seconds to a date value to create a datetime.
You started out well. The formulas you applied convert from an integer to a SAS date. So if you had picked a date format instead of a datetime format, you would see that the formula worked properly.
To convert from the date that you obtained to a datetime, you need to convert from days to seconds. Multiply your result by 24 * 60 * 60.
Your value is a date so to get a date time you need a bit more:
data want;
datetime = dhms(input(put(20160501,8.),yymmdd8.),0,0,0);
put datetime datetime20.;
run;
the DHMS function adds hours, minutes and seconds to a date value to create a datetime.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.