2010-10-05 15 views
66

Gdy chcę ustawienie wartości liczbowej +1 w tabeli mysql używam np .:data aktualizacji + rok w mysql

UPDATE table SET number=number+1 WHEN ... 

jaki sposób można ustawić datę + roczne?

Dzięki

+0

http://dev.mysql.com/ doc/refman/5.1/pl/date-and-time-functions.html # function_adddate –

Odpowiedz

120

można użyć DATE_ADD: (lub ADDDATE z INTERVAL)

UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR) 
12

Ten post pomógł mi dzisiaj, ale musiałem eksperymentować robić to, co potrzebne. Oto co znalazłem.

Jeżeli chcesz dodać więcej skomplikowanych okresów, na przykład 1 rok i 15 dni, można użyć

UPDATE tablename SET datefieldname = curdate() + INTERVAL 15 DAY + INTERVAL 1 YEAR; 

Okazało się, że za pomocą DATE_ADD nie pozwala na dodanie więcej niż jeden przedział. I nie ma słowa kluczowego interwału YEAR_DAYS, chociaż istnieją inne, które łączą okresy. Jeśli dodajesz czasy, użyj now() zamiast curdate().

2

W przypadku wielu rodzajów interwałów użyciu zagnieżdżony konstrukcję jak w:

UPDATE table SET date = DATE_ADD(DATE_ADD(date, INTERVAL 1 YEAR), INTERVAL 1 DAY) 

Do aktualizacji określonej daty w kolumnie + 1 dzień date do 1 roku

Powiązane problemy