Perbarui tanggal + satu tahun di mysql

97

Ketika saya ingin mengatur nilai numerik +1 di tabel mysql, saya menggunakan contoh:

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

Bagaimana cara mengatur tanggal + satu tahun?

Terima kasih

Bajlo
sumber

Jawaban:

174

Anda dapat menggunakan DATE_ADD : (atau ADDDATE dengan INTERVAL)

UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR) 
Julien Hoarau
sumber
17

Posting ini membantu saya hari ini, tetapi saya harus bereksperimen untuk melakukan apa yang saya butuhkan. Inilah yang saya temukan.

Jika Anda ingin menambahkan jangka waktu yang lebih kompleks, misalnya 1 tahun dan 15 hari, Anda dapat menggunakan

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

Saya menemukan bahwa menggunakan DATE_ADDtidak memungkinkan untuk menambahkan lebih dari satu interval. Dan tidak ada kata kunci interval YEAR_DAYS, meskipun ada kata kunci lain yang menggabungkan jangka waktu. Jika Anda menambahkan kali, menggunakan now()bukan curdate().

Fred McIntyre
sumber
4

Untuk beberapa tipe interval gunakan konstruksi bersarang seperti di:

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

Untuk memperbarui tanggal tertentu di kolom datemenjadi 1 tahun + 1 hari

Raffael Meier
sumber