SQL Wildcards

🔹 تعریف

  • Wildcards کاراکترهای ویژه‌ای هستند که به ما اجازه می‌دهند الگوهای جستجوی انعطاف‌پذیر بسازیم.

  • معمولاً همراه LIKE استفاده می‌شوند.

🔹 انواع Wildcards در SQL

Wildcardتوضیحمثال
%صفر یا چند کاراکترWHERE Name LIKE 'A%' → اسامی که با A شروع می‌شوند
_دقیقاً یک کاراکترWHERE Name LIKE 'A_i' → اسامی ۳ حرفی با A شروع و i پایان
[abc]هر کاراکتری که داخل براکت است (SQL Server/Oracle)WHERE Name LIKE '[AS]%' → اسامی که با A یا S شروع شوند
[^abc] یا [!abc]هر کاراکتری به جز موارد داخل براکتWHERE Name LIKE '[^A]%' → اسامی که با A شروع نمی‌شوند

🔹 مثال‌های کاربردی

1️⃣ استفاده از %

SELECT * FROM Customers WHERE Name LIKE 'M%';

🔹 تمام اسامی که با M شروع می‌شوند (Maryam, Mohammad …).

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

🔹 تمام اسامی که با a ختم می‌شوند (Sara, Reza …).

SELECT * FROM Customers WHERE Name LIKE '%ar%';

🔹 تمام اسامی که شامل "ar" هستند (Sara, Maryam …).

2️⃣ استفاده از _

SELECT * FROM Customers WHERE Name LIKE '_an';

🔹 تمام اسامی ۳ حرفی که با _ شروع و با "an" تمام شوند (e.g., Dan).

3️⃣ استفاده از [ ]

SELECT * FROM Customers WHERE Name LIKE '[AB]%' ;

🔹 اسامی که با A یا B شروع می‌شوند.

4️⃣ استفاده از NOT

SELECT * FROM Customers WHERE Name NOT LIKE 'A%';

🔹 همه اسامی که با A شروع نمی‌شوند.

🔹 نکات مهم

  1. % → برای جستجوی انعطاف‌پذیر (چند کاراکتر)

  2. _ → برای یک کاراکتر دقیق

  3. [ ] و [! ] → فقط در SQL Server و Oracle پشتیبانی می‌شوند

  4. همیشه با LIKE و یا NOT LIKE استفاده می‌شوند

  5. مناسب برای جستجو در داده‌های متنی و گزارش‌های پویا