У меня есть таблица в hive
, как показано ниже. Я хочу выбрать insertdate
, customer_id
из этой таблицы, где insertdate
равно current_date - 7 days
.
original table
+------------------------+--------------+
| insertdate | customer_id |
+------------------------+--------------+
| 2018-04-21 04:00:00.0 | 39550695 |
| 2018-04-22 04:00:00.0 | 38841612 |
| 2018-04-23 03:59:00.0 | 23100419 |
| 2018-04-24 03:58:00.0 | 39550688 |
| 2018-04-25 03:58:00.0 | 39550691 |
| 2018-05-12 03:57:00.0 | 39550685 |
| 2018-05-13 03:57:00.0 | 39550687 |
| 2018-05-14 03:57:00.0 | 39550677 |
| 2018-05-14 03:56:00.0 | 30254216 |
| 2018-05-14 03:56:00.0 | 39550668 |
+------------------------+--------------+
expected result
+------------------------+--------------+
| insertdate | customer_id |
+------------------------+--------------+
| 2018-05-12 03:57:00.0 | 39550685 |
| 2018-05-13 03:57:00.0 | 39550687 |
| 2018-05-14 03:57:00.0 | 39550677 |
| 2018-05-14 03:56:00.0 | 30254216 |
| 2018-05-14 03:56:00.0 | 39550668 |
+------------------------+--------------+
Но я получаю пустые результаты, когда я пробую следующее
select insert_date, customer_id from table where insert_date = date_sub(current_date, 7);
select insert_date, customer_id from table whereinsert_date = date_sub(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd'), 7);
Для обоих вышеупомянутых запросов я получил пустые результаты.
Что я здесь не так делаю и как получить правильный результат?