BookmarkSubscribeRSS Feed
tparvaiz
Obsidian | Level 7

Hi

 

I need to delete records from table temp_weekly_data where the date is less than today and status is equal to A

 

following code is deleting records where the date is less than today(), ignoring if the staus value

 

data temp_weekly_data;
set DB.TABLE(where = (&date1 <= date_my < &date2 ) );

if status in ("A") and datepart(date_my) < today() then delete;

run;

 

staus field is of type Text, 10 character length

 

Thanks in advance

2 REPLIES 2
Shmuel
Garnet | Level 18

Your code should work fine only in case status is always in capital letter.

Are &date1 and &date2 given as datetime or date only ?

Are your where consistent with the IF statement ? (either date variable or datetime variable)

 

You may test:

data temp_weekly_data;
   set DB.TABLE(where = (&date1 <= date_my < &date2 ) );
       if upcase(status) = "A"  
         and datepart(date_my) < today() then delete;
run;
art297
Opal | Level 21

You mentioned that status is a 10 character length field. Are you possibly wanting to delete a record if its status field contains an "A"? If so, you could use:

data db.table;
  informat status $10.;
  length status $10;
  input status;
  cards;
A
BC
 A
ABC
BCD
;

data temp_weekly_data;
  set DB.TABLE (where = (&date1 <= date_my < &date2 ) );
  if find(status,"A") and datepart(date_my) < today() then delete;
run;

Art, CEO, AnalystFinder.com

 

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
  • 2 replies
  • 1235 views
  • 0 likes
  • 3 in conversation