DATA Step, Macro, Functions and more

where date(YYMMDDN8.) before 20180430

Accepted Solution Solved
Reply
Contributor
Posts: 26
Accepted Solution

where date(YYMMDDN8.) before 20180430

Hello,

 

quick question, I want to count the number of observations in a table where the date is before another date. The format of my date column is YYMMDDN8. For example, if I want to count the number of observations that are before 20180430 I would have something like this:

 

 

proc sql;
select count(*)
from my.table
where datepart(datecolumn) < 20180430 ;
quit;

Thanks for your help


Accepted Solutions
Solution
a month ago
Valued Guide
Posts: 560

Re: where date(YYMMDDN8.) before 20180430

[ Edited ]
proc sql;
select count(*)
from my.table
where datecolumn< '30APR2018'd ;
quit;

Date values in SAS are stored as numericvalue that represents the number of days from January 1, 1960. DATEPART() is used to extract date from Datetime values. Since you have only date values you don't need datepart()

 

Thanks,
Suryakiran

View solution in original post


All Replies
Occasional Contributor
Posts: 10

Re: where date(YYMMDDN8.) before 20180430

You could change the date value to a standard SAS date value. table values are unchanged just makes the where condition easier.

 

proc sql;
select count(*)
from my.table
where datepart(datecolumn) < '30APR2018'd ;
quit;
Solution
a month ago
Valued Guide
Posts: 560

Re: where date(YYMMDDN8.) before 20180430

[ Edited ]
proc sql;
select count(*)
from my.table
where datecolumn< '30APR2018'd ;
quit;

Date values in SAS are stored as numericvalue that represents the number of days from January 1, 1960. DATEPART() is used to extract date from Datetime values. Since you have only date values you don't need datepart()

 

Thanks,
Suryakiran
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 145 views
  • 0 likes
  • 3 in conversation