I am trying to convert datetime data to date data (Date9. format). The data was imported from MS Access (.mdb file created in Access 97). I've tried using
data mylib.datanew;
set mylib.dataold;
informate birthdate date9.;
format birthdate date9.;
run;
I get 1.48867E9 instead of 05MAR2007. The log gives the following message ERROR: There was a problem with the format so BEST. was used. Any help appreciated
try:
new=datepart(old-variable);
I tried this and now SAS has the new variable formatted as Best which is not any sensible date format. Could it be a problem with the SAS default formatting or is it something to do with the MS Access file format?
Thanks!
Did you assign a format to the new variable (e.g., date9.)?
You can even use
birthdate = datepart(birthdate);
if your objective is simply to remove the hour part from a date in an Access database table, you may leave the variable as a datetime value and use:
format birthdate datetime20.;
birthdate = intnx("DTDAY",birthdate,0);
PG
Thanks for all of your "codes of wisdom". I finally have figured out what works.
data mylib.data;
set mylib.data;
birthdate=datepart(birthdate);
format birthdate date9.;
run;
This returns birthdate values in the format 01JAN1960.
Thanks again
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.