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
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.