sql redshift casewhen date = текущий месяц - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь написать случай, когда месяц и год в поле даты (move_in_month) равны текущему месяцу / году. Я написал:

  when date_part(m,temp.move_in_month) = date_part(m,getdate()) and date_part(y,temp.move_in_month) = date_part(y,getdate()) and engagement_rate <= .4 then 'Flag' 
  else 'No Flag' end as low_use_yn

, а также пробовал несколько других вариантов, но это не работает. Мысли? Спасибо!

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Закончено:

  case
      when date_trunc('month', temp.move_in_month) = date_trunc('month',current_date)
        and date_trunc('year', temp.move_in_month) = date_trunc('year',current_date)
        and engagement_rate <= .4 then 'Flag'
      else 'No Flag' end as low_use_yn

Решение найдено!

0 голосов
/ 23 апреля 2019

Я бы использовал date_trunc():

date_trunc('month', temp.move_in_month) = date_trunc('month', CURRENT_DATE)

Redshift не поддерживает индексы, но если move_in_month является ключом разделения, то это может быть безопаснее:

temp.move_in_month >= date_trunc('month', CURRENT_DATE) and
temp.move_in_month < date_trunc('month', CURRENT_DATE) + interval '1 month'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...