SAS Programming

DATA Step, Macro, Functions and more
BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
MILKYLOVE
Calcite | Level 5

I have a table in sas with a date column named DATE_MOD of format DATETIME23. 

The dates are as such:

28JAN2019:14:32:42

03JUN2021:14:22:13 

04JUN2021:16:02:23

 

Now I want to change the times in red and make them 23:59:59 for all the rows in this column like so:

28JAN2019:23:59:59

03JUN2021:23:59:59

04JUN2021:23:59:59

 

I use a proc sql update statement but it does not work. 

 

proc sql;
update operation 
set date_mod = dhms(date_mod,23,59,59);
quit;

Any help please?

1 ACCEPTED SOLUTION

Accepted Solutions
andreas_lds
Jade | Level 19

One obvious issue: you have a datetime variable, but the function dhms expects a date as first argument.

Using a data step:

data want;
  set have;
  date_mod = dhms(datepart(date_mod), 23, 59, 59);
run;

View solution in original post

1 REPLY 1
andreas_lds
Jade | Level 19

One obvious issue: you have a datetime variable, but the function dhms expects a date as first argument.

Using a data step:

data want;
  set have;
  date_mod = dhms(datepart(date_mod), 23, 59, 59);
run;

sas-innovate-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

Register now!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1273 views
  • 0 likes
  • 2 in conversation