PostgreSQL أمثال، ليس مثل، أحرف البدل (%، _ ) أمثلة
⚡ ملخص ذكي
PostgreSQL تُطابق دالة LIKE النصوص مع أنماط باستخدام رمزين بديلين: علامة النسبة المئوية والشرطة السفلية. يشرح هذا الدليل كيفية استخدام LIKE و NOT LIKE في عبارات SELECT، مع أمثلة عملية باستخدام psql و pgAdmin لكل حالة.

استخدم PostgreSQL LIKE يُطابق عامل التشغيل LIKE القيم النصية مع الأنماط باستخدام أحرف البدل. إذا تطابق تعبير البحث مع النمط، فإنه يُرجع قيمة صحيحة. trueتعمل الأحرف البديلة في WHERE شرط SELECT, UPDATE, INSERT أو DELETE.
ما هي PostgreSQL أحرف البدل؟
PostgreSQL يدعم نوعين من الأحرف البديلة LIKE:
- علامة النسبة المئوية (
%): يطابق صفرًا أو حرفًا واحدًا أو عدة أحرف أو أرقام. - شرطة سفلية (
_): يطابق حرفًا أو رقمًا واحدًا بالضبط.
يمكن دمج الرمزين داخل نفس النمط. إذا تم استخدام LIKE بدون أي من الرموز البديلة، فإنه يتصرف مثل رمز المساواة (=).=) المشغل أو العامل.
PostgreSQL صيغة LIKE
الصيغة الأساسية لـ LIKE هي:
expression LIKE pattern [ ESCAPE 'escape-character' ]
- التعبير — تعبير حرفي، عادةً ما يكون اسم عمود أو حقل.
- النمط — تعبير حرفي يحتوي على أحرف بدل.
- هروب الشخصية — اختياري. يسمح لك بمطابقة النص الحرفي
%or_الأحرف. عند حذفها، يتم استخدام الشرطة المائلة العكسية (\) هو حرف الهروب الافتراضي.
PostgreSQL أعجبني باستخدام رمز البدل %
استخدم % تطابق الإشارة صفرًا أو حرفًا واحدًا أو أكثر. انظر إلى ما يلي Book الجدول:
للعثور على الكتب التي يبدأ اسمها بـ "Lear"، قم بتشغيل الاستعلام أدناه.
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
تُرجع الاستعلامات ما يلي:
للعثور على الكتب التي يحتوي اسمها على كلمة "by" في أي مكان:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
تُرجع الاستعلامات ما يلي:
PostgreSQL مثل مع رمز البدل _
استخدم _ يتطابق الرمز مع حرف واحد فقط. الاستعلام التالي يعثر على الأسماء التي يكون حرفها الأول أي حرف منفرد، متبوعًا بكلمة "earn" ثم أي لاحقة:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
تُرجع الاستعلامات ما يلي:
مثال آخر - قم بمطابقة أي نص ينتهي بـ "Beginner" بالإضافة إلى حرف واحد إضافي:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
تُرجع الاستعلامات ما يلي:
PostgreSQL لا يشبه Operaتور
استخدم LIKE مع NOT لعرض الصفوف التي تفعل لست طابق النمط. على سبيل المثال، اذكر كل كتاب لا يبدأ اسمه بكلمة "Post":
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
تُرجع الاستعلامات ما يلي:
كتاب واحد فقط يفي بالشرط. الآن، اذكر كل كتاب ينطبق عليه هذا الشرط. لست تحتوي على كلمة "صنع":
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
تُرجع الاستعلامات ما يلي:
ثلاثة صفوف تحقق الشرط.
استخدام LIKE مع pgAdmin
يمكن أيضًا تشغيل نفس الاستعلامات بشكل رسومي داخل أداة الاستعلام الخاصة بـ pgAdmin.
رمز البدل % في pgAdmin
الخطوة 1) قم بتسجيل الدخول إلى pgAdmin.
الخطوة 2) في شريط التنقل على اليسار، انقر قواعد بيانات، ثم اضغط عرض تقديمي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلامات:
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
الخطوة 4) انقر تنفيذ.
تعرض لوحة النتائج الكتب المطابقة:
للبحث عن كتاب يحتوي اسمه على كلمة "by" في أي مكان:
الخطوة 1) اكتب ما يلي في محرر الاستعلامات:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
الخطوة 2) انقر تنفيذ.
تُظهر لوحة النتائج ما يلي:
_ رمز البدل في pgAdmin
الخطوة 1) قم بتسجيل الدخول إلى pgAdmin.
الخطوة 2) في شريط التنقل على اليسار، انقر قواعد بيانات، ثم اضغط عرض تقديمي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلامات:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
الخطوة 4) انقر تنفيذ.
تُظهر لوحة النتائج ما يلي:
الخطوة 5) قم بتشغيل المثال الثاني:
- اكتب الاستعلام في محرر الاستعلامات:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
- انقر تنفيذ.
تُظهر لوحة النتائج ما يلي:
ليس كما هو الحال في pgAdmin
الخطوة 1) قم بتسجيل الدخول إلى pgAdmin.
الخطوة 2) في شريط التنقل على اليسار، انقر قواعد بيانات، ثم اضغط عرض تقديمي.
الخطوة 3) لعرض قائمة بجميع الكتب التي لا يبدأ اسمها بكلمة "Post"، اكتب:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
الخطوة 4) انقر تنفيذ.
تُظهر لوحة النتائج ما يلي:
لعرض قائمة الكتب التي لا يحتوي اسمها على كلمة "صنع":
الخطوة 1) اكتب ما يلي في محرر الاستعلامات:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
الخطوة 2) انقر تنفيذ.
تُظهر لوحة النتائج ما يلي:
قم بتنزيل قاعدة البيانات المستخدمة في هذا البرنامج التعليمي.























