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

เราสามารถเปรียบเทียบตัวเลขในฟิลด์ MySQL varchar ได้หรือไม่


ใช่ เราสามารถทำได้โดยใช้ CAST() ก่อน ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> StudentScore varchar(100) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.66 วินาที)

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

mysql> แทรกลงในค่า DemoTable(StudentScore) ('90'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า DemoTable (StudentScore) ('100'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที) mysql> แทรกลงในค่า DemoTable (StudentScore) ('56'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable (StudentScore) ('98'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที)

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

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

ผลลัพธ์

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

<ก่อนหน้า>+-----------+--------------+| รหัสนักศึกษา | StudentScore |+-----------+------------+| 1 | 90 || 2 | 100 || 3 | 56 || 4 | 98 |+-----------+-------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเปรียบเทียบในฟิลด์ varchar -

mysql> เลือก *จาก DemoTable โดยที่ CAST(StudentScore AS SIGNED)> 91;

ผลลัพธ์

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

<ก่อนหน้า>+-----------+--------------+| รหัสนักศึกษา | StudentScore |+-----------+------------+| 2 | 100 || 4 | 98 |+-----------+-------------+2 แถวในชุด (0.00 วินาที)