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

ทำการเปรียบเทียบ MySQL LIKE บนฟิลด์ INT หรือไม่


คุณต้องใช้วิธี 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 วินาที)