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).
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.