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
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.