استخدام أحرف البدل لمطابقة غير صحيحة
تسمح لك مطابقة نمط SQL بالبحث عن أنماط في البيانات ، إذا كنت لا تعرف الكلمة أو العبارة التي تبحث عنها بالضبط. يستخدم هذا النوع من استعلام SQL أحرف البدل لمطابقة نمط ، بدلاً من تحديده بالضبط. على سبيل المثال ، يمكنك استخدام حرف البدل "C٪" لمطابقة أي سلسلة تبدأ بـ c.
باستخدام LIKE المشغل
لاستخدام تعبير بدل في استعلام SQL ، استخدم عامل التشغيل LIKE في جملة WHERE ، وقم بتضمين النقش ضمن علامات اقتباس مفردة.
استخدام٪ Wildcard لإجراء بحث بسيط
للبحث عن أي موظف في قاعدة البيانات الخاصة بك مع اسم العائلة الذي يبدأ بالحرف C ، استخدم العبارة SQL للعمليات التالية:
SELECT * FROM employees where WHERE last_name LIKE 'C٪'أحذف الأنماط باستخدام NOT كلمة
استخدم الكلمة الأساسية NOT لتحديد السجلات التي لا تطابق النقش. على سبيل المثال ، يقوم هذا الاستعلام بإرجاع كافة السجلات التي لا يبدأ اسمها آخر بـ C:
SELECT * FROM employees where WHERE last_name NOT LIKE 'C٪'مطابقة نمط في أي مكان باستخدام٪ Wildcard مرتين
استخدم مثيلين من حرف البدل ٪ لمطابقة نمط معين في أي مكان. هذا المثال بإرجاع كافة السجلات التي تحتوي على C في أي مكان في اسم العائلة:
SELECT * FROM employees where WHERE last_name LIKE '٪ C٪'العثور على تطابق نمط في موقف محدد
استخدم _ حرف البدل لإرجاع البيانات في موقع محدد. يتطابق هذا المثال فقط إذا حدث C في الموضع الثالث لعمود اسم العائلة:
SELECT * FROM employees WHERE last_name LIKE '_ _C٪'دعم أحرف البدل تعبيرات في SQL للعمليات
هناك عدة تعبيرات أحرف بدل معتمدة من قبل Transact SQL:
- يتطابق حرف البدل ٪ مع صفر أو أكثر من أي نوع ، ويمكن استخدامه لتعريف أحرف البدل قبل وبعد النقش. إذا كنت على دراية بمطابقة نمط DOS ، فهذا يعادل حرف البدل في هذا النحو.
- يتطابق حرف _ حرف البدل تمامًا مع حرف واحد من أي نوع. انها تعادل ؟ بدل في مطابقة نمط DOS.
- حدد قائمة بالأحرف بتضمينها بين أقواس مربعة. على سبيل المثال ، يتطابق حرف البدل [aeiou] مع أي حرف متحرك.
- حدد نطاقًا من الأحرف بتضمين النطاق بين أقواس مربعة. على سبيل المثال ، يتطابق حرف البدل [am] مع أي حرف في النصف الأول من الأبجدية.
- قم بإبطال نطاق من الأحرف عن طريق تضمين حرف carat مباشرةً داخل قوس المربع المفتوح. على سبيل المثال ، يتطابق [^ aeiou] مع أي حرف غير حرف علة بينما يتطابق [^ am] مع أي حرف ليس في النصف الأول من الأبجدية.
الجمع بين أحرف البدل للأنماط المعقدة
اجمع بين أحرف البدل هذه في الأنماط المعقدة لإجراء استعلامات أكثر تقدمًا. على سبيل المثال ، لنفترض أنك بحاجة إلى إنشاء قائمة بجميع الموظفين الذين لديهم أسماء تبدأ بحرف من النصف الأول من الأبجدية ، لكن لا تنتهي بحرف متحرك. يمكنك استخدام الاستعلام التالي:
SELECT * FROM employees where WHERE last_name LIKE '[am]٪ [^ aeiou]'وبالمثل ، يمكنك إنشاء قائمة بجميع الموظفين مع أسماء العائلة تتكون من أربعة أحرف بالضبط باستخدام أربعة أمثلة للنمط _ :
SELECT * FROM employees where WHERE last_name LIKE '____'كما يمكنك أن تقول ، فإن استخدام إمكانات مطابقة نمط SQL يوفر لمستخدمي قاعدة البيانات القدرة على تجاوز الاستعلامات النصية البسيطة وإجراء عمليات البحث المتقدمة.