MySQL - update when case
Exemplo prático de When Case no UPDATE, quando a data de hoje é menor que a data do final da assinatura (pagamento antecipado) o programa assume a data do final do pagamento + um ano:
UPDATE assinaturas set
inicio_assinatura= IF(inicio_assinatura='0000-00-00', CURDATE(), inicio_assinatura),
fim_assinatura=
CASE
WHEN CURDATE( ) < `fim_assinatura` THEN DATE_ADD( fim_assinatura, INTERVAL 365 DAY )
ELSE DATE_ADD( CURDATE( ) , INTERVAL 365 DAY )
END
where id_da_empresa='$id_empresa' and id_do_contato='$id_contato'
UPDATE assinaturas set
inicio_assinatura= IF(inicio_assinatura='0000-00-00', CURDATE(), inicio_assinatura),
fim_assinatura=
CASE
WHEN CURDATE( ) < `fim_assinatura` THEN DATE_ADD( fim_assinatura, INTERVAL 365 DAY )
ELSE DATE_ADD( CURDATE( ) , INTERVAL 365 DAY )
END
where id_da_empresa='$id_empresa' and id_do_contato='$id_contato'
Comentários
Postar um comentário