используйте Current_date () и add_months () , чтобы получить дату до 24 месяцев, затем используйте date_format () , чтобы изменить формат в соответствии с вашими потребностями (соответствует EVENT_START_DT_TM
формат поля)
hive> select date_format(add_months(current_date(),-24),"yyyy-MM-dd HH:mm:ss.SSS");
+--------------------------+--+
| _c0 |
+--------------------------+--+
| 2016-06-29 00:00:00.000 |
+--------------------------+--+
Истинное поле даты - это когда ваши данные в поле даты совпадают с форматом гггг-мм-дд , тогда вы можете извлечь месяцы из поля
hive> select month("2018-10-12");
+------+--+
| _c0 |
+------+--+
| 10 |
+------+--+
если значения полей не являются истинными полями даты, т.е. не в формате гггг-ММ-дд
hive> select month("20181012");
+-------+--+
| _c0 |
+-------+--+
| NULL |
+-------+--+
мы не можем извлечь месяц напрямую, используя функцию month вместо этого, нам нужно изменить формат поля, а затем извлечь месяц, используя функции from_unixtime / unix_timestamp..etc (или), используя функции подстроки