PostgreSQL أمثال، ليس مثل، أحرف البدل (%، _ ) أمثلة


استخدم PostgreSQL يساعدنا عامل LIKE في مطابقة قيم النص مع الأنماط باستخدام الأحرف البدل. ومن الممكن مطابقة تعبير البحث مع تعبير النمط.

إذا حدث تطابق، فإن عامل LIKE يعيد القيمة true. وبمساعدة عامل LIKE، من الممكن استخدام أحرف البدل في بند WHERE في عبارات SELECT أو UPDATE أو INSERT أو DELETE.

أوراق جامحة

لا يوجد سوى اثنين من أحرف البدل التي يمكن استخدامها معًا

  • علامة النسبة المئوية (%)
  • تسطير سفلي (_)

يتم استخدام علامة النسبة المئوية (%) لتمثيل صفر أو حرف واحد أو العديد من الأحرف أو الأرقام.

تُستخدم علامة البدل السفلية (_) لتمثيل حرف واحد أو رقم واحد. ويمكن أيضًا دمج هذه الرموز. إذا لم يتم استخدام عامل LIKE مع هاتين العلامتين، فسوف يعمل مثل عامل يساوي.

بناء الجملة

هذا هو بناء الجملة لمشغل LIKE:

expression LIKE pattern [ ESCAPE 'escape-character' ]

التعبير هو تعبير حرف مثل عمود أو حقل.

النمط عبارة عن تعبير حرفي مع مطابقة النمط.

حرف الهروب هو معلمة اختيارية. يسمح باختبار المثيلات الحرفية لأحرف البدل مثل % و_. إذا لم يتم توفيره، فسيتم استخدام \ كحرف هروب.

باستخدام % البدل

كما ذكرنا سابقًا، فإن علامة % تطابق الصفر أو حرفًا واحدًا أو أكثر أو رقمًا. ضع في اعتبارك الجدول التالي:

كتاب:

باستخدام % البدل

نريد للكتاب الذي اسمه مثل “لير…” أن يحصل على تلك النتيجة، يمكننا تشغيل الأمر التالي:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

سيؤدي هذا إلى إرجاع ما يلي:

باستخدام % البدل

تم العثور على الكتاب.

فلنبحث عن كتاب “لـ” باسمه:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

سيؤدي هذا إلى إرجاع ما يلي:

باستخدام % البدل

باستخدام _ البدل

كما ذكرنا سابقًا، تمثل العلامة _ حرفًا أو رقمًا واحدًا. يمكن استخدامه كما هو موضح أدناه:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

هذا يعيد ما يلي:

باستخدام _ البدل

هنا مثال آخر:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

هذا يعيد ما يلي:

باستخدام _ البدل

باستخدام ليس Operaتور

عند دمج عامل LIKE مع عامل NOT، يتم إرجاع أي صف لا يتطابق مع نمط البحث. على سبيل المثال، لرؤية كتاب لا يبدأ اسمه بـ "post"، يمكننا تشغيل الأمر التالي:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

هذا يعيد ما يلي:

باستخدام ليس Operaتور

كتاب واحد فقط حقق شرط البحث. دعونا نرى قائمة أسماء الكتب التي لا تحتوي على كلمة "صنع":

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

هذا يعيد ما يلي:

باستخدام ليس Operaتور

3 صفوف استوفت شرط البحث.

باستخدام pgAdmin

الآن دعونا نرى كيف يمكن تنفيذ الإجراءات باستخدام pgAdmin.

باستخدام % البدل

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  1. من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  2. انقر فوق العرض التوضيحي.

استخدام pgAdmin مع حرف البدل %

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

الخطوة 4) انقر فوق الزر "تنفيذ".

استخدام pgAdmin مع حرف البدل %

ينبغي أن يعود ما يلي:

استخدام pgAdmin مع حرف البدل %

للبحث عن كتاب “لـ” باسمه:

الخطوة 1) اكتب الأمر التالي في محرر الاستعلام:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

الخطوة 2) انقر فوق الزر "تنفيذ".

استخدام pgAdmin مع حرف البدل %

ينبغي أن يعود ما يلي:

استخدام pgAdmin مع حرف البدل %

باستخدام _ البدل

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  1. من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  2. انقر فوق العرض التوضيحي.

استخدام pgAdmin مع _ حرف البدل

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

الخطوة 4) انقر فوق الزر "تنفيذ".

استخدام pgAdmin مع _ حرف البدل

ينبغي أن يعود ما يلي:

استخدام pgAdmin مع _ حرف البدل

الخطوة 5) لتشغيل المثال الثاني:

  1. اكتب الاستعلام التالي في محرر الاستعلام:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. انقر فوق الزر "تنفيذ".

استخدام pgAdmin مع _ حرف البدل

ينبغي أن يعود ما يلي:

استخدام pgAdmin مع _ حرف البدل

باستخدام ليس Operaتور

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  1. من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  2. انقر فوق العرض التوضيحي.

باستخدام ليس Operaتور في pgAdmin

الخطوة 3) لرؤية جميع الكتب التي لا تبدأ أسماؤها بكلمة "نشر"، اكتب الاستعلام في محرر الاستعلام:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

الخطوة 4) انقر فوق الزر "تنفيذ".

باستخدام ليس Operaتور في pgAdmin

ينبغي أن يعود ما يلي:

باستخدام ليس Operaتور في pgAdmin

باستخدام ليس Operaتور في pgAdmin

للاطلاع على قائمة الكتب التي لا تحتوي أسماؤها على كلمة "صنع":

الخطوة 1) اكتب الاستعلام التالي في محرر الاستعلام:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

الخطوة 2) انقر فوق الزر "تنفيذ".

باستخدام ليس Operaتور في pgAdmin

ينبغي أن يعود ما يلي:

باستخدام ليس Operaتور في pgAdmin

ملخص

  • استخدم PostgreSQL يتم استخدام LIKE في مطابقة القيم النصية مع الأنماط باستخدام أحرف البدل.
  • تسمح لنا جملة LIKE باستخدام أحرف البدل في اخترأو تحديث أو إدراج أو حذف البيانات.
  • تتطابق العلامة % مع قيمة واحدة أو أكثر. يمكن أن تكون القيم أرقامًا أو أحرفًا.
  • يطابق حرف البدل _ قيمة واحدة بالضبط. يمكن أن تكون القيمة حرفًا أو رقمًا.
  • يمكن دمج عامل LIKE مع عامل NOT لإرجاع أي صف لا يتطابق مع نمط البحث.

قم بتنزيل قاعدة البيانات المستخدمة في هذا البرنامج التعليمي

تلخيص هذه التدوينة بـ: