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
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: