الدرس 17: مطابقة الأنماط باستخدام LIKE
يُستخدم عامل التشغيل LIKE في عبارة WHERE للبحث عن أنماط محددة في الأعمدة النصية. هذا ضروري لميزات مثل أشرطة البحث.
أحرف البدل (Wildcard Characters)
تستخدم SQL حرفي بدل رئيسيين لمطابقة الأنماط:
- % (علامة النسبة المئوية): يمثل صفرًا، أو حرفًا واحدًا، أو عدة أحرف.
- _ (شرطة سفلية): يمثل حرفًا واحدًا ومحددًا.
| النمط | المعنى | مثال للمطابقة |
|---|---|---|
'A%' | يبدأ بـ 'A' | Alice, Apple, Account |
'%z' | ينتهي بـ 'z' | Jazz, Buzz, Wiz |
'%test%' | يحتوي على 'test' في أي مكان | UnitTest, TestData, Retest |
'J_hn' | يبدأ بـ J، وينتهي بـ hn، وحرف واحد بالضبط بينهما | John, Jahn, Jrhn |
مثال 1: العثور على الأسماء التي تبدأ بـ 'S'
sql SELECT CustomerName FROM Customers WHERE CustomerName LIKE 'S%';
مثال 2: العثور على رسائل البريد الإلكتروني من نطاق محدد
sql SELECT Email FROM Users WHERE Email LIKE '%@gmail.com';
ملاحظة حساسية حالة الأحرف
انتبه إلى أن سلوك LIKE فيما يتعلق بحساسية حالة الأحرف (على سبيل المثال، مطابقة 'A' مقابل 'a') يعتمد كليًا على نظام قاعدة البيانات المحدد (على سبيل المثال، MySQL غالبًا ما يكون غير حساس لحالة الأحرف افتراضيًا، بينما PostgreSQL يمكن أن يكون حساسًا).