مطابقت (LIKE)
عملگر «LIKE» در شرط «WHERE» برای جستجوی الگو استفاده می شود. «الگو (Pattern)» یعنی قالبی از حروف که دنبال آن می گردیم. بنابراین می توانی نام ها یا شهرها را براساس شباهت پیدا کنی.
LIKE و وایلدکارت ها
با «LIKE» می توانی داخل یک ستون متنی الگو پیدا کنی. دو «وایلدکارت (Wildcard)» مهم داریم:
- % یعنی صفر، یک، یا چند کاراکتر.
- _ یعنی دقیقا یک کاراکتر.
برای آشنایی با شرط ها، صفحه WHERE را ببین.
شروع با حروف مشخص (Starts with)
اگر باید با حرف خاص شروع شود، یک % در انتها بگذار.
SELECT *
FROM customers;
WHERE customer_name LIKE 'A%';
شامل عبارت میانی (Contains)
اگر باید عبارت وسط متن باشد، دو طرف % قرار بده.
SELECT *
FROM customers;
WHERE customer_name LIKE '%A%';
پایان با عبارت مشخص (Ends with)
اگر باید با عبارت خاص تمام شود، % را قبلش بگذار.
SELECT *
FROM customers;
WHERE customer_name LIKE '%en';
جستجوی بدون حساسیت به حروف (ILIKE)
LIKE حساس به حروف است. اما «ILIKE» حساس نیست و بزرگ کوچک را یکی می گیرد.
SELECT *
FROM customers;
WHERE customer_name ILIKE '%A%';
کاراکتر زیرخط _
هر «_» دقیقا یک کاراکتر را می پوشاند. ترکیب چندتا الگوی دقیق می سازد.
SELECT *
FROM customers;
WHERE city LIKE 'L_nd__';
گام های تمرینی سریع
- ستون متنی مناسب را مشخص کن.
- الگو را با % یا _ بنویس.
- LIKE یا ILIKE را داخل WHERE بگذار.
نکته: برای فیلترهای دیگر، بخش IN را هم ببین.
جمع بندی سریع
- LIKE برای جستجوی الگو در متن است.
- % یعنی هر تعداد کاراکتر، حتی صفر.
- _ یعنی دقیقا یک کاراکتر.
- LIKE حساس است؛ ILIKE حساس نیست.