ต้องแปลงคอลัมน์ 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%' ได้