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

จะอัปเดตวันที่ของฟิลด์ datetime ด้วย MySQL ได้อย่างไร


อัปเดตวันที่ของฟิลด์วันที่และเวลาด้วยความช่วยเหลือของตัวดำเนินการเลขคณิตลบ (-)

ไวยากรณ์มีดังนี้

อัปเดต yourTableNameset yourDateTimeColumnName=yourDateTimeColumnName - ช่วงเวลา yourValue daywhere date(yourDateTimeColumnName)='yourDateValue';

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

mysql> สร้างตาราง updateDateDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> ArrivalDate datetime -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.66 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert

แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า updateDateDemo(ArrivalDate) ('2011-01-13'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า updateDateDemo (ArrivalDate) ('2013-04-21');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า updateDateDemo (ArrivalDate) ('2016-12-22'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า updateDateDemo (ArrivalDate) ( '2017-02-25'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.27 วินาที) mysql> แทรกลงในค่า updateDateDemo (ArrivalDate) ('2018-08-19'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า updateDateDemo(ArrivalDate) ('2019-02-27'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.24 วินาที)

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

แบบสอบถามมีดังนี้

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+---------------------+| รหัส | วันที่มาถึง |+----+---------------------+| 1 | 2011-01-13 00:00:00 || 2 | 2013-04-21 00:00:00 || 3 | 2016-12-22 00:00:00 || 4 | 2017-02-25 00:00:00 || 5 | 2018-08-19 00:00:00 || 6 | 2019-02-27 00:00:00 |+-----------+---------------------+6 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่ออัปเดตวันที่ของฟิลด์วันที่และเวลา

mysql> update updateDateDemo -> set ArrivalDate=ArrivalDate-interval 7 วัน -> where date(ArrivalDate)='2019-02-27';Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)แถวที่ตรงกัน:1 เปลี่ยน:1 คำเตือน:0

ตอนนี้ตรวจสอบระเบียนที่อัปเดตจากตาราง

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+---------------------+| รหัส | วันที่มาถึง |+----+---------------------+| 1 | 2011-01-13 00:00:00 || 2 | 2013-04-21 00:00:00 || 3 | 2016-12-22 00:00:00 || 4 | 2017-02-25 00:00:00 || 5 | 2018-08-19 00:00:00 || 6 | 2019-02-20 00:00:00 |+-----------+---------------------+6 แถวในชุด (0.00 วินาที)