🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Obsidian | Level 7

how to replace date value ?

hi i have a dataset which contains one variable date/

Variable - date

06/20/2010

06/16/2010

06/22/2010

06/20/2010

i want to replace the value of 06 ( month ) with 04 and 2010 ( year ) with 2011.

how can i achieve this?

1 ACCEPTED SOLUTION

Accepted Solutions
Opal | Level 21

how to replace date value ?

If you only want to change certain dates, you could do it with something like:

data have;

informat date mmddyy10.;

format date mmddyy10.;

input date;

cards;

06/20/2010

06/16/2010

06/22/2010

06/20/2010

;

data want;

set have;

if month(date) eq 6 then date=

mdy(4,day(date),year(date));

if year(date) eq 2010 then date=

mdy(month(date),day(date),2011);

run;

3 REPLIES 3
Fluorite | Level 6

how to replace date value ?

I suppose your date is a valid sas date. This value is a number into your dataset.

the intnx function is the best way to increase or decrease your date values.

new_month = intnx('month',date,1); /* this adds one month to your date */

new_month2 = intnx('year',new_month,1); /* this adds one year to your date */

if it's text you can use substring and convert your date to a sas date using the mdy(month,day,year) function.

Opal | Level 21

how to replace date value ?

If you only want to change certain dates, you could do it with something like:

data have;

informat date mmddyy10.;

format date mmddyy10.;

input date;

cards;

06/20/2010

06/16/2010

06/22/2010

06/20/2010

;

data want;

set have;

if month(date) eq 6 then date=

mdy(4,day(date),year(date));

if year(date) eq 2010 then date=

mdy(month(date),day(date),2011);

run;

Obsidian | Level 7

how to replace date value ?

Hi Sir,

Thank you so much for your time. This is really useful to me.

Discussion stats
• 3 replies
• 7874 views
• 1 like
• 3 in conversation