Kiedy chcę ustawić wartość liczbową +1 w tabeli mysql, używam np:
UPDATE table SET number=number+1 WHEN ...
Jak mogę ustawić datę + rok?
Dzięki
Odpowiedzi:
Ten post pomógł mi dzisiaj, ale musiałem poeksperymentować, aby zrobić to, czego potrzebowałem. Oto co znalazłem.
Jeśli chcesz dodać bardziej złożone okresy, na przykład 1 rok i 15 dni, możesz użyć
UPDATE tablename SET datefieldname = curdate() + INTERVAL 15 DAY + INTERVAL 1 YEAR;
Okazało się, że użycie DATE_ADD
nie pozwala na dodanie więcej niż jednego interwału. I nie ma słowa kluczowego interwał YEAR_DAYS, chociaż są inne, które łączą okresy. Jeśli dodajesz czasy, użyj now()
zamiast curdate()
.
Dla wielu typów przedziałów użyj konstrukcji zagnieżdżonej, jak w:
UPDATE table SET date = DATE_ADD(DATE_ADD(date, INTERVAL 1 YEAR), INTERVAL 1 DAY)
Za aktualizację podanej daty w kolumnie date
do 1 roku + 1 dzień