Help using Base SAS procedures

date conversion help

Reply
Frequent Contributor
Posts: 90

date conversion help

Hi ,

Currently am having the date field EFFDAT and it displaying as


                          10012010
                          9012010


and its  type is 'number' and format is 'BEST12.' AND informat is 'BEST32.'

I need to display it as 20101001

                                20100912

Please let me know.

Thanks,

PROC Star
Posts: 7,356

date conversion help

Would something like the following suffice?

data have;

  format datefield best12.;

  format datefield best12.;

  input datefield;

  cards;

10012010

9012010

;

options datestyle=mdy;

data want;

  set have;

  format datefield yymmddN8.;

  datefield=input(put(datefield,best12.),anydtdte.);

run;

New Contributor
Posts: 3

date conversion help

you can use something like this :

data x;

input dt ;

cards;

10012010

9012010

;

run;

data y;

set x;

  dt1 = input(put(dt,z8.),mmddyy8.);

  format dt1 date9.;

run;

Valued Guide
Posts: 632

Re: date conversion help

I would change your format to yymmddN8. so that the value will display in YYMMDD form without any separators between YY and MM and DD.

Note that these solutions are storing a SAS date.  This is different than storing the numeric value of 20100901.

PROC Star
Posts: 7,356

Re: date conversion help

Art,  The format I suggested (i.e., yymmddN8.) also displalys without any separators.

Valued Guide
Posts: 632

Re: date conversion help

Art,

You are correct.  I was obviously not paying attention.

Art

Ask a Question
Discussion stats
  • 5 replies
  • 995 views
  • 0 likes
  • 4 in conversation