Wildcards في SQL

Wildcards في SQL

Wildcards في SQL

تُستخدم الـ Wildcards كبدائل لواحد أو أكثر من الحروف داخل النصوص. وغالبًا يتم استخدامها مع العامل LIKE في جملة WHERE للبحث عن نمط معين داخل عمود.

مثال سريع

إرجاع العملاء الذين يبدأ اسمهم بالحرف a:

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';

الرموز الشائعة (Wildcards)

الرمز الوصف
%يمثل صفر أو أكثر من الحروف
_يمثل حرف واحد فقط
[]أي حرف واحد داخل الأقواس
^أي حرف غير الموجود داخل الأقواس
-أي حرف ضمن نطاق محدد
{}يمثل حرف مُهَرب (مدعوم فقط في Oracle)

جدول Customers (بيانات تجريبية)

CustomerID CustomerName ContactName Address City PostalCode Country
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

أمثلة عملية

استخدام %

-- ينتهي بـ 'es'
SELECT * FROM Customers
WHERE CustomerName LIKE '%es';

-- يحتوي على 'mer'
SELECT * FROM Customers
WHERE CustomerName LIKE '%mer%';

استخدام _

-- مدينة تنتهي بـ "ondon"
SELECT * FROM Customers
WHERE City LIKE '_ondon';

-- يبدأ بـ L + 3 حروف + on
SELECT * FROM Customers
WHERE City LIKE 'L___on';

استخدام []

-- يبدأ بـ b أو s أو p
SELECT * FROM Customers
WHERE CustomerName LIKE '[bsp]%';

استخدام - مع []

-- يبدأ بحرف بين a و f
SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]%';

دمج الـ Wildcards

-- يبدأ بـ a وطوله على الأقل 3 حروف
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';

-- حرف r في الموضع الثاني
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';

بدون Wildcard

-- مطابقة كاملة
SELECT * FROM Customers
WHERE Country LIKE 'Spain';

Wildcards في Microsoft Access

الرمز الوصف مثال
*يمثل صفر أو أكثر من الحروفbl* → bl, black, blue
?يمثل حرف واحدh?t → hot, hat, hit
[]أي حرف داخل الأقواسh[oa]t → hot, hat
!أي حرف ليس داخل الأقواسh[!oa]t → hit
-حرف من نطاق معينc[a-b]t → cat, cbt
#رقم واحد فقط2#5 → 205, 215 ... 295

سؤال للتدريب

ما الذي يمثله الرمز % في SQL؟

  • ✅ صفر أو أكثر من الحروف
  • ❌ حرف واحد فقط
  • ❌ أي حرف ضمن نطاق
  • ❌ مطابقة كاملة للنص

هاشتاجات

#SQL #Wildcards #LIKE #Database #تعلم_SQL #SalemNet #Pattern_Search

تعليقات