С учетом выходных (daofweek = 7, dayofweek = 1) в случае, когда пункты - PullRequest
0 голосов
/ 29 марта 2019

Вот пример таблицы:

    date           type    value
    3/28/2019 0:00  c_amt   0.02
    3/29/2019 0:00  c_amt   0.03
    3/30/2019 0:00  c_amt   0.05

В моем запросе есть следующие предложения CASE WHEN:

    CASE WHEN to_date(date) = to_date(cast('2019-03-28' as timestamp)) AND type = 'c_amt' 
    THEN value ELSE 0
    END AS c_amt1,
    CASE WHEN to_date(date) = to_date(date_add(cast('2019-03- 
   28' as timestamp), 1)) AND type = 'c_amt' 
    THEN value ELSE 0 
    END AS c_amt2, 
    CASE WHEN to_date(date) = to_date(date_add(cast('2019-03-28' as timestamp), 2)) AND type = 'c_amt' 
    THEN value ELSE 0 
    END AS c_amt3 

Теперь я пытаюсь добавить специальное условие для выходных.30.03.2009 случается суббота.dayofweek 7 в терминах Impala.

Мне нужно добавить следующую логику: для dayofweek 7 (суббота) получите значение за предыдущий день.За день недели 1 (воскресенье) получите значение за 2 дня.Суббота и воскресенье должны иметь значение пятницы.Как мне этого добиться?

...