I have a column with HH:MM in a string format, I would like it to be converted into HHMw.d time format.
In EG, I go to Query Builder and advanced expression with "INPUT(t1.time_v2, HHMMw.)", it created a new variable but they are all missing (.).
@KubiK888 wrote:
Thanks, but it turns it into 5-digit number. For example "7:57" into 28620.
That's likely correct. Now you need to apply a format to it as well, TIME.
SAS stores times as the number of seconds and dates as the number of days.
Are you actually putting "w" as the length? That should actually be a number or potentially nothing. You're not getting any kind of note or error?
I am not getting any error. But there is note: Invalid string for
234 t1.time_v2,
235 /* time_v3 */
236 (INPUT(t1.time_v2, HHMM.)) AS time_v3
237 FROM WORK.QUERY_FOR_UNDERSTANDI_0003 t1;
And with and without "w" doesn't make a difference, just create a new column with all empty value.
Are you sure it's a string format? Can you show a proc contents and a few values?
Try TIME5. instead of HHMMw. if you only have hour and minutes.
HHMMw. is a display format, not an informat.
I would expect an error similar to this:
355 data junk; 356 time_v2 = "12:34"; 357 tt =INPUT(time_v2, HHMM.); ----- 485 NOTE 485-185: Informat HHMM was not found or could not be loaded. 358 run;
@KubiK888 wrote:
Thanks, but it turns it into 5-digit number. For example "7:57" into 28620.
That's likely correct. Now you need to apply a format to it as well, TIME.
SAS stores times as the number of seconds and dates as the number of days.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.