У меня есть столбец data_as_of_daily_date (тип данных String) в моей исходной таблице (подготовка), и мне нужно найти первую дату месяца на основе столбца исходной таблицы в Impala и загрузить ее в целевую таблицу, имеющую столбец FIRST_DAY_OF_MONTH (тип String).
Исходная таблица:
+--------------------+
data_as_of_daily_date
+--------------------+
+20181217 +
+20181115 +
Я выполняю запрос ниже:
SELECT
DATE_ADD(FROM_UNIXTIME(UNIX_TIMESTAMP(DATA_AS_OF_DAILY_DATE, 'yyyyMMdd')), 1 - DAY(FROM_UNIXTIME(UNIX_TIMESTAMP(DATA_AS_OF_DAILY_DATE, 'yyyyMMdd')))) AS FIRST_DAY_OF_MONTH
FROM TABLE;
Выход:
+--------------------+
AS FIRST_DAY_OF_MONTH
+--------------------+
+2018-12-01 00:00:00 +
+2018-11-01 00:00:00 +
Ожидаемый результат:
+--------------------+
AS FIRST_DAY_OF_MONTH
+--------------------+
+20181201 +
+20181101 +