BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Arsene83
Calcite | Level 5

Hello,

 

I have a problem with DATE in SAS.

I have DATE in my table

Przechwytywanie.PNG

 

when i change the format of this date (Format AUGDT DATE9.;)

I get only ****** (9999-12-31)

 

What is all about?

1 ACCEPTED SOLUTION

Accepted Solutions
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Dates and times are stored a numbers from a certain time point.  AUGDT you give is a datetime variable.  Hence the number stored behind the scenes is a datetime amount from a certain time.  If you then try to format this larger number as a smaller date it is far outside the proper date number range hence you get *****.

You need to split the date part of the datetime out, then format that, eg;

data want;
  set have;
  mydate=datepart(augdt);
  format mydate date9.;
run;

 

Run this coe for instance, then look at the values in show_actual_value variables, you can see the difference:

data test;
  augdt="01JAN2016 14:15"dt;
  show_actual_value_dt=augdt;
  d9fmt=datepart(augdt);
  show_actual_value_d=d9fmt;
  format augdt datetime. d9fmt date9.;
run;

 

View solution in original post

1 REPLY 1
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Dates and times are stored a numbers from a certain time point.  AUGDT you give is a datetime variable.  Hence the number stored behind the scenes is a datetime amount from a certain time.  If you then try to format this larger number as a smaller date it is far outside the proper date number range hence you get *****.

You need to split the date part of the datetime out, then format that, eg;

data want;
  set have;
  mydate=datepart(augdt);
  format mydate date9.;
run;

 

Run this coe for instance, then look at the values in show_actual_value variables, you can see the difference:

data test;
  augdt="01JAN2016 14:15"dt;
  show_actual_value_dt=augdt;
  d9fmt=datepart(augdt);
  show_actual_value_d=d9fmt;
  format augdt datetime. d9fmt date9.;
run;

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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
  • 1011 views
  • 2 likes
  • 2 in conversation