หากต้องการอัปเดตเฉพาะวันที่ในเดือน ให้ใช้ MONTH() ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable861(AdmissionDate date);Query OK, 0 แถวได้รับผลกระทบ (1.22 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable861 ('2019-01-21'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.31 วินาที) mysql> แทรกลงในค่า DemoTable861 ('2018-01-01'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.49 วินาที) mysql> แทรกลงในค่า DemoTable861 ('2016-01-02'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (1.27 วินาที) mysql> แทรกลงในค่า DemoTable861 ('2018-01-14'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.47 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable861;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+--------------+| AdmissionDate |+--------------+| 2019-01-21 || 2018-01-01 || 2016-01-02 || 2018-01-14 |+--------------+4 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นข้อความค้นหาที่จะอัปเดตเฉพาะเดือน -
mysql> อัปเดต DemoTable861 set AdmissionDate=date_add(AdmissionDate,Interval -1 month) โดยที่ month(AdmissionDate)=01;Query OK, 4 แถวได้รับผลกระทบ (0.42 วินาที)แถวที่ตรงกัน:4 เปลี่ยนแล้ว:4 คำเตือน:0
ให้เราตรวจสอบบันทึกตารางอีกครั้ง -
mysql> เลือก *จาก DemoTable861;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+--------------+| AdmissionDate |+--------------+| 2018-12-21 || 2017-12-01 || 2015-12-02 || 2017-12-14 |+--------------+4 แถวในชุด (0.00 วินาที)