ค้นหาตัวอักษรพิเศษ ñ แยกจาก n ด้วย Collation
ใช้ COLLATE utf8_spanish_ci เพื่อให้ MySQL แยก ñ และ n ออกจากกันในการค้นหา
ไวยากรณ์
SELECT * FROM yourTable WHERE yourColumn LIKE '%ñ%' COLLATE utf8_spanish_ci;
ตัวอย่าง
CREATE TABLE NotIncludenDemo (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName VARCHAR(20)
);
INSERT INTO NotIncludenDemo(ClientName) VALUES ('John'), ('Johñ'), ('Johnñy');
ค้นหาแบบปกติ (เจอทั้ง n และ ñ)
SELECT * FROM NotIncludenDemo WHERE ClientName LIKE '%ñ%';
อาจคืน John, Johñ, Johnñy ทั้งหมด (ขึ้นกับ Collation ปัจจุบัน)
ค้นหาด้วย Spanish Collation (เจอเฉพาะ ñ)
SELECT * FROM NotIncludenDemo WHERE ClientName LIKE '%ñ%' COLLATE utf8_spanish_ci;
ผลลัพธ์
+----+------------+ | Id | ClientName | +----+------------+ | 2 | Johñ | | 3 | Johnñy | +----+------------+
Collation อื่นที่น่าสนใจ
utf8_general_ci- เริ่มต้น แยกตัวอักษรไม่ชัดutf8_unicode_ci- แยกดีกว่า ตาม Unicode Standardutf8_spanish_ci- จัดลำดับ ñ ระหว่าง n และ outf8mb4_0900_ai_ci- เริ่มต้น MySQL 8.0 รองรับ Emoji และ Unicode 9.0