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