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

MySQL - เปลี่ยนปีวันที่จาก 2020 เป็น 2011?


คุณเปลี่ยนปีของวันที่จากปี 2020 เป็น 2011 ได้โดยใช้ SUBDATE() โดยมี INTERVAL เป็น 9 ปี เนื่องจากมีความแตกต่างกันระหว่างปี 2020 ถึง 2011

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

อัปเดต yourTableNameSET yourDateColumnName=SUBDATE(yourDateColumnName,INTERVAL 9 YEAR);

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

mysql> สร้างตาราง ChangeYearFrom2020To2011 -> ( -> Id int NOT NULL AUTO_INCREMENT, -> ExpiryDate date, -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (0.67 วินาที)

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

mysql> แทรกลงในค่า ChangeYearFrom2020To2011(ExpiryDate) ('2020-09-12'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงในค่า ChangeYearFrom2020To2011 (ExpiryDate) ('2020-12-21');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงใน ChangeYearFrom2020To2011(ExpiryDate) ค่า ('2020-01-29'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า ChangeYearFrom2020To2011 (ExpiryDate) ( '2020-06-30'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า ChangeYearFrom2020To2011 (หมดอายุ) ('2020-12-31'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) 

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

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

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

<ก่อนหน้า>+----+-----------+| รหัส | ExpiryDate |+----+-----------+| 1 | 2020-09-12 || 2 | 2020-12-21 || 3 | 2020-01-29 || 4 | 2020-06-30 || 5 | 2020-12-31 |+----+-----------+5 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาที่จะเปลี่ยนเฉพาะปีจากปี 2020 เป็น 2011:

mysql> อัปเดต ChangeYearFrom2020To2011 -> set ExpiryDate=subdate(ExpiryDate,interval 9 year);ตกลง ตกลง 5 แถว (0.20 วินาที) แถวที่ตรงกัน:5 เปลี่ยนแล้ว:5 คำเตือน:0

ตอนนี้เราจะตรวจสอบบันทึกทั้งหมดของตารางอีกครั้ง แบบสอบถามมีดังนี้:

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

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

<ก่อนหน้า>+----+-----------+| รหัส | ExpiryDate |+----+-----------+| 1 | 2011-09-12 || 2 | 2011-12-21 || 3 | 2011-01-29 || 4 | 2011-06-30 || 5 | 2011-12-31 |+----+-----------+5 แถวในชุด (0.00 วินาที)