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 ![]()
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.