Esse post me ajudou hoje, mas tive que experimentar para fazer o que precisava. Aqui está o que encontrei.
Se você quiser adicionar períodos de tempo mais complexos, por exemplo, 1 ano e 15 dias, você pode usar
UPDATE tablename SET datefieldname = curdate()+ INTERVAL 15 DAY + INTERVAL 1 YEAR;
Descobri que o uso DATE_ADDnão permite adicionar mais de um intervalo. E não há palavra-chave de intervalo YEAR_DAYS, embora existam outras que combinam períodos de tempo. Se você estiver adicionando tempos, use em now()vez de curdate().
Respostas:
Você pode usar DATE_ADD : (ou ADDDATE com
INTERVAL
)fonte
Esse post me ajudou hoje, mas tive que experimentar para fazer o que precisava. Aqui está o que encontrei.
Se você quiser adicionar períodos de tempo mais complexos, por exemplo, 1 ano e 15 dias, você pode usar
Descobri que o uso
DATE_ADD
não permite adicionar mais de um intervalo. E não há palavra-chave de intervalo YEAR_DAYS, embora existam outras que combinam períodos de tempo. Se você estiver adicionando tempos, use emnow()
vez decurdate()
.fonte
Para vários tipos de intervalo, use uma construção aninhada como em:
Para atualizar uma determinada data na coluna
date
para 1 ano + 1 diafonte