Как преобразовать строковое поле месяца и года в формат даты в кусте (с помощью SAS)?

Я пытаюсь преобразовать два строковых поля (месяц и год) в поле даты, которое я могу использовать в Tableau. Таблица находится в Hadoop. Я пробовал использовать to_date и concat, но в результате все получилось нулевым.

Proc SQL noerrorstop;
Connect to HADOOP (server=X); 
Execute (set X) by HADOOP; 
Execute (drop Table X) by HADOOP; 
Execute (create Table X as
SELECT month, year
to_date(concat(YEAR,"-",MONTH,"-","01")) as date
from TableX
group by month, year
) by HADOOP;
DISCONNECT FROM HADOOP;
quit;

Какие символьные строки содержат YEAR и MONTH?

Tom 20.06.2018 20:49

укажите формат даты. По умолчанию это mmddyyyy. использовать from_unixtime(unix_timestamp(concat(year,'-',month,'-','01')‌​,'yyyy-MM-dd')) as dt

samkart 21.06.2018 19:17

Даже select cast(concat(year,'-',month,'-','01') as DATE) as dt работает отлично. Год и Месяц - это символы, а результирующий столбец - это столбец date.

samkart 21.06.2018 19:23
Работа с датами и временем в языке Java
Работа с датами и временем в языке Java
Работа с датами и временем в языке Java была сильно переработана начиная с версии Java 8 и далее с появлением библиотеки java.time.
0
3
3 032
1

Ответы 1

Отсутствует запятая после года, нет необходимости группировать по. Кроме того, TableX отличается от Table X?

select month,year,to_date(concat(year,'-',month,'-','01')) as date
from TableY

Привет ВК. Я добавил запятую, удалил группу по и все равно получил тот же результат (все нули). Да, две таблицы разные. Можно сказать Таблица X и Таблица Y.

M.Belhaj 20.06.2018 20:47

@ M.Belhaj Что вы получите, если запросите выбрать год, месяц из Таблицы Y?

VK_217 20.06.2018 21:49

Другие вопросы по теме