I have one of the data field SENT_DATE=' Wednesday, September 06, 2017 10:14 PM' and '2017-07-14 13:01:00.0'. I am using
sent_date1=input(sent_date, e8601dt19.) and format sent_date1 datetime19.all the '2017-07-14 13:01:00.0' to be SAS datetime format. However it can't change the ' Wednesday, September 06, 2017 10:14 PM'. I tried different ways, it failed. How to deal with it?
Try this:
data test;
do txt =
"Wednesday, September 06, 2017 10:14 PM",
"2017-07-14 13:01:00.0";
if anydigit(first(txt)) then
date = input(txt, e8601dt19.);
else date = input(prxchange("s/\s*\w+,\s*//o",1,txt), anydtdtm40.);
output;
end;
format date datetime19.;
run;
proc print; run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.