Hi,
I have this format of a birth date : 06FEB81:00:00:00 and from this I have to calculate the age of the person. How I have to format this in order to be able to use it and then what? Thanks in advance!
Is this value stored as character or as a SAS datetime value (numeric, with a datetime format)?
Datetime. the informat is ANYDTDTM40.
Then you can use the intck function:
age_in_years = intck('dtyear',date_of_birth,datetime());
I have my answer! Thank you very much! I tried to use this function earlier, but was doing it wrong. Now it works fine. Thanks again!
Note that what you see is a pet peeve of mine, which seems to come from some defaults and/or lazy programming in some applications: storing DATE values as DATETIME. If your data, or your use, has not actual need of the time component you can reduce the variable to only date values using: Date = datepart(datetimevariable); (you could use the same variable as the result) and assign appropriate format for display.
Otherwise in the INTCK and INTNX functions when using a period like 'year' or 'month' you preface the period with 'dt' to tell SAS the value is a date time, hence the 'dtyear'
Pet Peeve yes. But ...
Elvis has left the building
On top of what @ballardw said, date values can be stored in 4-byte numeric variables, while datetimes need all 8 bytes of the default numeric length.
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.