Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

อัปเดตวันที่ของ MySQL และเพิ่มขึ้นหนึ่งปีหรือไม่


คุณสามารถใช้ฟังก์ชัน date_add() ที่สร้างขึ้นจาก MySQL ไวยากรณ์มีดังนี้ −

อัปเดต yourTableName SETyourDateColumnName=DATE_ADD(yourDateColumnName,ช่วง 1 ปี);

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง UpdateDate -> ( -> Id int, -> DueDate datetime -> );Query OK, 0 แถวได้รับผลกระทบ (0.76 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามที่จะแทรกบันทึกมีดังนี้ -

mysql> แทรกลงในค่า UpdateDate (1001,'2012-5-21'); ตกลง, 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า UpdateDate (1002,'2013-8-2'); แบบสอบถาม ตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า UpdateDate (1003,'2014-2-27'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า UpdateDate (1004,'2016-11 -1');เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า UpdateDate (1005,'2017-12-24'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)

ให้เราแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก UpdateDate;

ผลลัพธ์

<ก่อนหน้า>+------+---------------------+| รหัส | DueDate |+------+---------------------+| 1001 | 2012-05-21 00:00:00 || 1002 | 2013-08-02 00:00:00 || 1003 | 2014-02-27 00:00:00 || 1004 | 2016-11-01 00:00:00 || 1005 | 2017-12-24 00:00:00 |+------+---------------------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่สามารถใช้เพื่ออัปเดตวันที่ด้วย 1 ปีโดยใช้ date_add() และช่วงเวลา แบบสอบถามมีดังนี้ −

mysql> update UpdateDate set DueDate=date_add(DueDate,interval 1 year);แบบสอบถามตกลง 5 แถวได้รับผลกระทบ (0.15 วินาที) แถวที่ตรงกัน:5 เปลี่ยน:5 คำเตือน:0

ตรวจสอบตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก UpdateDate;

ผลลัพธ์

<ก่อนหน้า>+------+---------------------+| รหัส | DueDate |+------+---------------------+| 1001 | 2013-05-21 00:00:00 || 1002 | 2014-08-02 00:00:00 || 1003 | 2015-02-27 00:00:00 || 1004 | 2017-11-01 00:00:00 || 1005 | 2018-12-24 00:00:00 |+------+---------------------+5 แถวในชุด (0.00 วินาที)

ดูผลลัพธ์ตัวอย่างด้านบน ค่าทั้งหมดได้รับการอัปเดตแล้ว หากคุณต้องการอัปเดตวันที่และเวลาที่เฉพาะเจาะจง ให้ใช้เงื่อนไข where