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

วิธีใช้ LIKE กับคอลัมน์ INT ใน MySQL

ต้องแปลงคอลัมน์ INT เป็น CHAR ด้วย CAST() ก่อนจึงจะใช้ LIKE ได้

ไวยากรณ์

SELECT col1, col2 FROM yourTable 
WHERE CAST(yourIntColumn AS CHAR) LIKE '%yourNumber%';

ตัวอย่างการใช้งาน

สร้างตาราง ComparisonOnIntField:

mysql> CREATE TABLE ComparisonOnIntField (
    -> StudentId INT NOT NULL,
    -> StudentName VARCHAR(20),
    -> StudentAge INT
    -> );

เพิ่มข้อมูล:

mysql> INSERT INTO ComparisonOnIntField VALUES(10, 'Carol', 24);
mysql> INSERT INTO ComparisonOnIntField VALUES(12, 'Bob', 21);
mysql> INSERT INTO ComparisonOnIntField VALUES(14, 'Sam', 23);
mysql> INSERT INTO ComparisonOnIntField VALUES(16, 'Mike', 25);
mysql> INSERT INTO ComparisonOnIntField VALUES(18, 'John', 27);
mysql> INSERT INTO ComparisonOnIntField VALUES(20, 'David', 26);

ข้อมูลทั้งหมด

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
| 10        | Carol       | 24         |
| 12        | Bob         | 21         |
| 14        | Sam         | 23         |
| 16        | Mike        | 25         |
| 18        | John        | 27         |
| 20        | David       | 26         |
+-----------+-------------+------------+

คำสั่งค้นหา StudentId ที่มีเลข 18 (ใช้ CAST)

mysql> SELECT StudentName, StudentAge 
    -> FROM ComparisonOnIntField 
    -> WHERE CAST(StudentId AS CHAR) LIKE '%18%';

ผลลัพธ์

+-------------+------------+
| StudentName | StudentAge |
+-------------+------------+
| John        | 27         |
+-------------+------------+

คำอธิบาย: CAST(StudentId AS CHAR) แปลงตัวเลขเป็นสตริง จึงสามารถใช้ LIKE '%18%' ได้