Hi,
Below query gives an error Function DATEPART requires a numeric expression as argument 1.
proc sql;
create table sample as
select
identifier,
serial,
node,
nodealias,
manager,
agent,
alertgroup,
alertkey,
summary,
location,
class,
poll,
type,
tally,
severity,
owneruid,
ownergid,
acknowledged,
put (datepart(src_lastmodified),yymmdd10.)||" "||put(timepart(src_lastmodified),time9.1) as src_lastmodified
from test.sample1;
quit;
You need to convert the character dates to numeric for using datepart and timepart function as in this example:
data sample1;
src_lastmodified=put(datetime(),is8601dt.);
run;
proc sql;
select
put(datepart(input(src_lastmodified,is8601dt.)),yymmdd10.)
||" "
||put(timepart(input(src_lastmodified,is8601dt.)),time9.1) as src_lastmodified
from sample1;
quit;
- Cheers -
So what data type is src_lastmodified?
Char type
You need to convert the character dates to numeric for using datepart and timepart function as in this example:
data sample1;
src_lastmodified=put(datetime(),is8601dt.);
run;
proc sql;
select
put(datepart(input(src_lastmodified,is8601dt.)),yymmdd10.)
||" "
||put(timepart(input(src_lastmodified,is8601dt.)),time9.1) as src_lastmodified
from sample1;
quit;
- Cheers -
Hi ,
Thanks for your reply. While executing the below query it returns missing value (.)
proc sql;
select
put(datepart(input(src_lastmodified,is8601dt.)),yymmdd10.)
||" "
||put(timepart(input(src_lastmodified,is8601dt.)),time9.1) as src_lastmodified
from test.sample1;
quit;
Date format needs to changed from
20160531 00:04:37 to 2016-05-31 00:04:37
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.