หากต้องการอัปเดตระเบียนโดยระบุปี ให้ใช้เมธอด YEAR() ตามรูปแบบต่อไปนี้:
อัปเดต yourTableName ตั้งค่า yourColumnName1=yourValue1 โดยที่ YEAR(str_to_date(yourColumnName2,'%d/%m/%Y'))=yourValue2;
ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable1924 ( ชื่อผู้ใช้ varchar(20), UserJoiningDate varchar(40) ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable1924 ('Chris','10/12/2010'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1924 ('David','20/01/2011 '); ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1924 ('ไมค์', '20/01/2010'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1924 ( 'Carol','26/04/2013');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก * จาก DemoTable1924;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----------+-----------------+| ชื่อผู้ใช้ | UserJoiningDate |+----------+-----------------+| คริส | 10/12/2553 || เดวิด | 20/01/2011 || ไมค์ | 20/01/2010 || แครอล | 26/04/2013 |+----------+-----------------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่ออัปเดตบันทึกตามปีที่ระบุ -
mysql> อัปเดต DemoTable1924 ตั้งค่า UserName='Robert' โดยที่ YEAR(str_to_date(UserJoiningDate,'%d/%m/%Y'))=2010; Query OK, 2 แถวได้รับผลกระทบ (0.00 วินาที) แถวที่ตรงกัน:2 เปลี่ยน :2 Warnings:0
ให้เราตรวจสอบบันทึกตารางอีกครั้ง -
mysql> เลือก * จาก DemoTable1924;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----------+-----------------+| ชื่อผู้ใช้ | UserJoiningDate |+----------+-----------------+| โรเบิร์ต | 10/12/2553 || เดวิด | 20/01/2011 || โรเบิร์ต | 20/01/2010 || แครอล | 26/04/2013 |+----------+-----------------+4 แถวในชุด (0.00 วินาที)