Hi Sanjeev Jag's suggestion is probably the simplest but if you needed to specify a format that isn't built in, We do this sort of task using Informats as you suggested. the code blow will create an informat called MyDteFmt to cover all dates from 01Jan200 to 31Dec2020. you could put this in the autoexec for an EG project or even for the workspace server to make it available to all future processes. data infmt ; length fmtname $8 type $1 label 8 start $9; retain fmtname "MyDteFmt" ; do label = '01Jan2000'd to '31Dec2020'd; start = cat(put(year(label),z4.), put(month(label), z2.), put(day(label), z2.)) ; type = "I"; /* numeric InFormat */ output ; end ; run ; proc format cntlin=infmt; run ; proc datasets lib=work memtype=data force nowarn nolist; delete infmt; run; With this run your code would look something like this... Data test; input date $20. ; cards; 20120102 20120108 20120110 20120131 ; run; data y; set test; Format date1 date9.; date1 =input(strip(date),MyDteFmt.); run; Proc print; run; Hope this helps, Tim.
... View more