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

ค้นหา ñ ใน MySQL โดยไม่รวม n ธรรมดา

ค้นหาตัวอักษรพิเศษ ñ แยกจาก 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 Standard
  • utf8_spanish_ci - จัดลำดับ ñ ระหว่าง n และ o
  • utf8mb4_0900_ai_ci - เริ่มต้น MySQL 8.0 รองรับ Emoji และ Unicode 9.0