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).
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.