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%';
هذا يعيد ما يلي:
كتاب واحد فقط حقق شرط البحث. دعونا نرى قائمة أسماء الكتب التي لا تحتوي على كلمة "صنع":
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
هذا يعيد ما يلي:
3 صفوف استوفت شرط البحث.
باستخدام pgAdmin
الآن دعونا نرى كيف يمكن تنفيذ الإجراءات باستخدام pgAdmin.
باستخدام % البدل
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT * FROM Book WHERE name LIKE 'Lear%';
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
للبحث عن كتاب “لـ” باسمه:
الخطوة 1) اكتب الأمر التالي في محرر الاستعلام:
SELECT * FROM Book WHERE name LIKE '%by%';
الخطوة 2) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
باستخدام _ البدل
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT * FROM Book WHERE name LIKE '_earn%';
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
الخطوة 5) لتشغيل المثال الثاني:
- اكتب الاستعلام التالي في محرر الاستعلام:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
باستخدام ليس Operaتور
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) لرؤية جميع الكتب التي لا تبدأ أسماؤها بكلمة "نشر"، اكتب الاستعلام في محرر الاستعلام:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
للاطلاع على قائمة الكتب التي لا تحتوي أسماؤها على كلمة "صنع":
الخطوة 1) اكتب الاستعلام التالي في محرر الاستعلام:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
الخطوة 2) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
ملخص
- استخدم PostgreSQL يتم استخدام LIKE في مطابقة القيم النصية مع الأنماط باستخدام أحرف البدل.
- تسمح لنا جملة LIKE باستخدام أحرف البدل في اخترأو تحديث أو إدراج أو حذف البيانات.
- تتطابق العلامة % مع قيمة واحدة أو أكثر. يمكن أن تكون القيم أرقامًا أو أحرفًا.
- يطابق حرف البدل _ قيمة واحدة بالضبط. يمكن أن تكون القيمة حرفًا أو رقمًا.
- يمكن دمج عامل LIKE مع عامل NOT لإرجاع أي صف لا يتطابق مع نمط البحث.























