Hello all,
I am getting "invalid argument" error to both the MONTH() function and YEAR() function, but I am confused because I don't see why the argument is invalid. The variable is "month_date" and here are two example observations:
month_date |
31Jul2010 0:00:00 |
31Jul2010 0:00:00 |
in SAS column properties the data format is listed as "DATETIME20." -- Why is this not a valid format for these functions which state in their documentation that they accept datetime variables? I must be missing something here..
-Thank you!
When a SAS variable month_date is actually date/time values, then the following code does not work
month(month_date)
However, the following code should work
month(datepart(month_date))
When a SAS variable month_date is actually date/time values, then the following code does not work
month(month_date)
However, the following code should work
month(datepart(month_date))
Excellent, easy enough. Thank you!
I don't see anywhere in MONTH and YEAR documentation that it accepts datetime variables. It only mentions it accepts date variables. As pointed out by Paige, datepart(datetimevariable) is the way to output a date out of a datetime and should fix your issue.
There is a clear distinction between dates (number of days since 01JAN1960) and datetimes (number of seconds since 01JAN1960).
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.