Как написать выписку по делу, чтобы вычесть 5 часов из даты и времени, если это до перехода на летнее время, и вычесть 4 часа, если после

Мне нужно вычесть 5 часов, если дата падает раньше 03/09/2014 экономия и 4 часа, если это после 03/09/2014, Это в кейсе, это то, что я имею до сих пор, но оно касается только первого, когда не работает со вторым, когда.

max(
  Case 
       when aa.status_id=10 and aa.created_at <'3/09/2014'
            then DATE_SUB(aa.created_at,  interval 4 HOUR) 
       when aa.status_id=10 and aa.created_at >'3/09/2014'
            then DATE_SUB(aa.created_at,  interval 4 HOUR)
       else null
  end )as  form_Receieved

1 ответ

Сначала вы вычитаете 4 часа от даты! который не будет работать, это должно быть datetime.

во-вторых, вы сравниваете между столбцом datetime и date. Вы должны преобразовать его в дату и время. или сделайте так же, как ваш формат столбца.

      when aa.status_id=10 and aa.created_at <'2014-03-09 00:00:00' 

Предполагая, что созданный_ател является столбцом даты и времени, потому что вы не показывали свою таблицу и структуру столбцов.

Другие вопросы по тегам