Есть несколько функций, чтобы знать около.
scan (str, n) - это тянет n-го слова от строки.
catt (str1, str2, str3) - это объединяет строки.
вход (ул, информ) - это преобразует строку в число с помощью Informat
dhms (д, ч, м, S) - день часа минуты секунды. Дата, плюс части времени равно дате.
Также DDMONYYYY
является информа = date9.
HH:MM <AM|PM>
является информа = time.
Итак ...
data test;
format date $20.;
date = "Nov 2 2013 10:00AM"; output;
date = "Oct 6 2012 11:00AM"; output;
date = "Aug 26 2002 18:00PM"; output;
date = "Mar 22 2012 07:00AM"; output;
run;
data test;
set test;
format day date9. time time. date2 datetime.;
day = input(catt(scan(date,2),scan(date,1),scan(date,3)),date9.);
time = input(scan(date,4),time.);
date2 = dhms(day,hour(time),minute(time),second(time));
run;
это очень хорошо !!! –
Что делать, если значение станет 2013-11-26 14:45:15? –
Вы можете использовать функцию сканирования. Он имеет необязательный третий параметр, который является разделителем. MDY() работает как DHMS(), но с месяцем, днем и годом. Проверьте их оба в документации SAS. Кроме того, информационная информация 'time.' должна работать с этим временем. – DomPazz