I have a date field that includes hours/minutes/seconds (e.g., '10SEP2012:0:0:0')dt). I need the data to include only day/month/year (e.g., '10SEP2012'd instead of '10SEP2012:0:0:0')dt. I created a new field based on the original date field using a computed column: put(datepart(t1.BirthDate), date9.). The data looks right, but now I cannot filter using the BETWEEN function because the dates are in a character format. There has got to be a better and different way to get rid of the hours/minutes/seconds and keep the date in a format that can be filtered as needed.
Thanks for ideas . . .
William
Just create the new variable as datepart(t1.birthdate) to get a SAS date variable and should work with between and date literals. The "put" is what made it a string result.
Just create the new variable as datepart(t1.birthdate) to get a SAS date variable and should work with between and date literals. The "put" is what made it a string result.
This appears to work perfectly. Thanks so much, really appreciated!
Wm
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.