"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية العثور على التواجد الثاني أو الثالث لسلسلة فرعية في MySQL؟

كيفية العثور على التواجد الثاني أو الثالث لسلسلة فرعية في MySQL؟

تم النشر بتاريخ 2024-11-19
تصفح:455

How to Find the Second or Third Occurrence of a Substring in MySQL?

العثور على الفهرس الثاني أو الثالث لسلسلة فرعية في MySQL

عند العمل مع سلاسل في قاعدة بيانات، غالبًا ما يكون من الضروري تحديد الموضع من سلسلة فرعية معينة. في الحالات التي يكون فيها استعلام LIKE بسيط غير كافٍ، قد تحتاج إلى طريقة لتحديد فهرس تكرار معين لتلك السلسلة الفرعية بدقة.

المشكلة:
لديك مسافة- سلسلة منفصلة وتحتاج إلى استخراج قسم معين من السلسلة بناءً على موضعها النسبي. على سبيل المثال، بالنظر إلى السلسلة "AAAA BBBB CCCC DDDD EEE،" فأنت تريد استخراج السلسلة الفرعية "CCCC."

الحل:
يوفر MySQL وظيفة قوية تسمى SUBSTRING_INDEX التي تسمح يمكنك العثور على التواجد n لسلسلة فرعية ضمن سلسلة أكبر. للعثور على المسافة الثانية (أو الثالثة) في سلسلة، يمكنك استخدام استدعاءات SUBSTRING_INDEX المتداخلة.

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(field, ' ', 3), ' ', -1)
FROM table

في الاستعلام أعلاه، يقوم استدعاء SUBSTRING_INDEX الداخلي باستخراج السلسلة الفرعية حتى المسافة الثالثة في عمود الحقل، مما يمنحك "AAAA BBBB CCCC." يقوم استدعاء SUBSTRING_INDEX الخارجي بعد ذلك بعزل السلسلة الفرعية بعد المسافة الثالثة، والتي هي في هذه الحالة "CCCC".

من خلال تداخل استدعاءات SUBSTRING_INDEX المتعددة، يمكنك الاستمرار في تحديد التكرارات اللاحقة للمحدد واستخراج السلاسل الفرعية المطلوبة كـ ضروري. توفر هذه الوظيفة متعددة الاستخدامات طريقة مريحة وفعالة للتعامل مع مهام معالجة السلاسل المعقدة في MySQL.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3