BookmarkSubscribeRSS Feed
gstover
Fluorite | Level 6

I am trying to figure out the syntax to subset a dataset based on the date and time.  First to grab all records that are prior to 12:01 a.m.  Then within these records query another date variable for the date and time between 12:01 am and 4:00 am.

1 REPLY 1
Reeza
Super User

Assuming you have SAS dates/times and your variables are times it's fairly straightforward:

 

where timeVariable < '00:01:00't and  timepart(secondDateTimeVariable) between '00:01:00't and '04:00;00't;

Key concepts:

  • Use TIMEPART() to get the time portion of a datetime variable
  • Specify time as 'HH:MM:SS't
  • FYI - If you use a WHERE statement you can use BETWEEN. If you use an IF statement, then you cannot use BETWEEN and need to structure that condition more similar to the first condition.

@gstover wrote:

I am trying to figure out the syntax to subset a dataset based on the date and time.  First to grab all records that are prior to 12:01 a.m.  Then within these records query another date variable for the date and time between 12:01 am and 4:00 am.


 

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