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

วิธีการส่งและอัปเดตค่าตัวเลขจากคอลัมน์สตริงเฉพาะที่ใช้ได้กับ MySQL เท่านั้น


คุณสามารถใช้ฟังก์ชัน CEIL() จาก MySQL ให้เราสร้างตารางก่อน ที่นี่เราได้นำคอลัมน์แรกเป็น VARCHAR -

mysql> สร้างตาราง DemoTable -> ( -> Value varchar(20), -> UpdateValue int -> );Query OK, 0 แถวได้รับผลกระทบ (1.08 วินาที)

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

mysql> แทรกลงในค่า DemoTable(Value) ('100'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า DemoTable (ค่า) ('เท็จ'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.10 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) ('จริง'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) ('1'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.07 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------+-------------+| ความคุ้มค่า | UpdateValue |+-------+-------------+| 100 | NULL || เท็จ | NULL || จริง | NULL || 1 | NULL |+-------+-------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อส่งและปรับปรุงค่าตัวเลขจากคอลัมน์สตริงเท่านั้นที่เกี่ยวข้อง -

mysql> อัปเดต DemoTable -> set UpdateValue=ceil(cast(Value AS char(7))); ตกลง ตกลง 4 แถวได้รับผลกระทบ (0.18 วินาที) แถวที่ตรงกัน:4 เปลี่ยนแล้ว:4 คำเตือน:0

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------+-------------+| ความคุ้มค่า | UpdateValue |+-------+-------------+| 100 | 100 || เท็จ | 0 || จริง | 0 || 1 | 1 |+-------+-------------+4 แถวในชุด (0.00 วินาที)