it-swarm-id.com

MySQL menambahkan hari ke tanggal

Saya punya tabel di MySQL. Seperti apa pernyataan sql yang ingin ditambahkan katakanlah 2 hari ke nilai tanggal saat ini dalam tabel?

UPDATE classes 
SET 
date = date + 1
where id = 161

ini menambahkan satu detik ke nilai, saya tidak ingin memperbarui waktu, saya ingin menambahkan dua hari?

36
Beginner

Dengan asumsi bidang Anda adalah tipe date (atau serupa):

SELECT DATE_ADD(`your_field_name`, INTERVAL 2 DAY) 
FROM `table_name`;

Dengan contoh yang Anda berikan, tampilannya bisa seperti ini:

UPDATE classes 
SET `date` = DATE_ADD(`date` , INTERVAL 2 DAY)
WHERE `id` = 161;

Pendekatan ini juga bekerja dengan datetime.

77
Bjoern
UPDATE table SET nameofdatefield = ADDDATE(nameofdatefield, 2) WHERE ...
7
Gustav Barkefors

Kueri ini bagus untuk mengambil nilai antara tanggal saat ini dan 3 tanggal berikutnya

SELECT * FROM tableName
WHERE columName BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 3 DAY)

Ini pada akhirnya akan menambah 3 hari buffer tambahan ke tanggal saat ini.

4
Vinit Kadkol
update tablename set coldate=DATE_ADD(coldate, INTERVAL 2 DAY)
2
rahularyansharma

Untuk kebutuhan anda:

UPDATE classes 
SET `date` = DATE_ADD(`date`, INTERVAL 2 DAY)
WHERE id = 161
1
Marco
SELECT DATE_ADD(CURDATE(), INTERVAL 2 DAY)
1
Valeklosse
 DATE_ADD(FROM_DATE_HERE, INTERVAL INTERVAL_TIME_HERE DAY) 

akan memberikan Tanggal setelah menyesuaikan INTERVAL

misalnya.

DATE_ADD(NOW(), INTERVAL -1 DAY) for deducting 1 DAY from current Day
DATE_ADD(NOW(), INTERVAL 2 DAY)  for adding 2 Days

Anda bisa menggunakan like

UPDATE classes WHERE date=(DATE_ADD(date, INTERVAL 1 DAY)) WHERE id=161
1
Kris
SET date = DATE_ADD( fieldname, INTERVAL 2 DAY )
0
Romain Bruckert

Anda dapat meninggalkan fungsi date_add.

UPDATE `table` 
SET `yourdatefield` = `yourdatefield` + INTERVAL 2 DAY
WHERE ...
0
hovszabolcs