PostgreSQL

PostgreSQL — مطابقت (LIKE)

آخرین بروزرسانی: 1404/08/18

مطابقت (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__';

مشاهده در ادیتور

گام های تمرینی سریع

  1. ستون متنی مناسب را مشخص کن.
  2. الگو را با % یا _ بنویس.
  3. LIKE یا ILIKE را داخل WHERE بگذار.

نکته: برای فیلترهای دیگر، بخش IN را هم ببین.

جمع بندی سریع

  • LIKE برای جستجوی الگو در متن است.
  • % یعنی هر تعداد کاراکتر، حتی صفر.
  • _ یعنی دقیقا یک کاراکتر.
  • LIKE حساس است؛ ILIKE حساس نیست.