คุณต้องใช้วิธี cast() เพื่อทำการเปรียบเทียบในฟิลด์ INT ไวยากรณ์มีดังนี้ −
เลือก yourColumnName1,yourColumnName2,......N yourTableName WHERE CAST(yourColumnName as CHAR) LIKE '%yourIntegerValue%';
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตารางสำหรับดำเนินการเปรียบเทียบ LIKE บนฟิลด์ INT -
mysql> สร้างตาราง ComparisonOnIntField -> ( -> StudentId int ไม่ใช่ NULL, -> StudentName varchar(20), -> StudentAge int -> );Query OK, 0 แถวได้รับผลกระทบ (1.00 วินาที)
แทรกบางระเบียนในตารางเพื่อทำการเปรียบเทียบ MySQL LIKE บนฟิลด์ INT แบบสอบถามที่จะแทรกบันทึกมีดังนี้ -
mysql> แทรกลงในค่า ComparisonOnIntField (10,'Carol',24); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า ComparisonOnIntField (12, 'Bob', 21); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า ComparisonOnIntField (14, 'Sam', 23); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า ComparisonOnIntField (16, 'Mike', 25); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที) mysql> แทรกลงในค่า ComparisonOnIntField (18,'John',27); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า ComparisonOnIntField (20, 'David', 26); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก ComparisonOnIntField;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+-------------+-----------+| รหัสนักศึกษา | ชื่อนักเรียน | StudentAge |+-----------+-------------+-----------+| 10 | แครอล | 24 || 12 | บ๊อบ | 21 || 14 | แซม | 23 || 16 | ไมค์ | 25 || 18 | จอห์น | 27 || 20 | เดวิด | 26 |+-----------+--------------------+-----------+6 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อทำการเปรียบเทียบ MySQL LIKE บนฟิลด์ INT -
mysql> เลือก StudentName,StudentAge จาก ComparisonOnIntField -> โดยที่ cast (StudentId เป็น CHAR) ชอบ '%18%';
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-------------+-----------+| ชื่อนักเรียน | StudentAge |+-------------+-----------+| จอห์น | 27 |+-------------+-----------+1 แถวในชุด (0.05 วินาที)