انتقل إلى محتوى الدرس

Collation Case Sensitivity in WHERE تأثير المقارنة النصية بالبحث

افهم كيف تتحكم إعدادات المقارنة النصية Collation في حساسية الأحرف الكبيرة والصغيرة داخل WHERE.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يعتمد سلوك مقارنة النصوص داخل جملة WHERE في MySQL على نظام المقارنة النصية Collation المحدد للعمود.

  • الوضع الافتراضي غير الحساس لحالة الأحرف utf8mb4_0900_ai_ci: تعني اللاحقة _ci أن مقارنة 'Admin' = 'admin' تُعيد 1 لتجاهل فرق الأحرف الكبيرة والصغيرة.
  • المقارنة الحساسة لحالة الأحرف utf8mb4_0900_as_cs: يمكنك فرض المطابقة الحرفية الدقيقة بإضافة COLLATE utf8mb4_0900_as_cs عند فحص الرموز الحساسة.

تعتمد ترميزات 0900 الحديثة في MySQL 8 خاصية NO PAD التي تعتبر المسافات في نهاية النص جزءاً فعلياً من المقارنة.

SQL
-- Force case-sensitive match using MySQL 8 collation
SELECT user_id, username, role_code
FROM users
WHERE role_code COLLATE utf8mb4_0900_as_cs = 'Admin';