สมมติว่าคุณตั้งค่าวันที่ในรูปแบบ VARCHAR ตอนนี้ หากคุณต้องการอัปเดตรูปแบบ ให้ใช้คำสั่ง UPDATE พร้อมกับ STR_TO_DATE() ไวยากรณ์มีดังนี้ −
อัปเดต yourTableName ตั้งค่า yourColumnName=str_to_date(yourColumnName,'%m/%d/%Y');
ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable( DueDate varchar(100)); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.56 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable ('12/01/2019'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable ('01/31/2016'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable ('03/17/2018'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable ('07/25/2017'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+| DueDate |+-----------+| 12/01/2019 || 01/31/2016 || 03/17/2018 || 07/25/2017 |+-----------+4 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามเพื่อแปลงข้อมูล varchar เป็นรูปแบบอื่นใน MySQL -
mysql> อัปเดต DemoTable set DueDate=str_to_date(DueDate,'%m/%d/%Y');แบบสอบถามตกลง ได้รับผลกระทบ 4 แถว (0.18 วินาที) แถวที่ตรงกัน:4 เปลี่ยนแล้ว:4 คำเตือน:0
ให้เราตรวจสอบบันทึกตารางอีกครั้ง -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+| DueDate |+-----------+| 2019-12-01 || 2016-01-31 || 2018-03-17 || 2017-07-25 |+-----------+4 แถวในชุด (0.00 วินาที)