وظيفة MySQL INSTR ()

Wzyft Mysql Instr



في هذا البرنامج التعليمي ، سوف نتعلم كيفية استخدام وظيفة MySQL INSTR () لتحديد موضع التكرار الأول لسلسلة فرعية معينة.

وظيفة MySQL INSTR ()

باستخدام دالة instr () ، يمكننا توفير سلسلة نصية وسلسلة فرعية. ستحدد الوظيفة ما إذا كانت السلسلة الفرعية موجودة في سلسلة المصدر. إذا كانت السلسلة الفرعية موجودة ، فستقوم الوظيفة بإرجاع موضع التكرار الأول للسلسلة الفرعية في السلسلة المصدر.

إذا لم تكن السلسلة الفرعية موجودة في السلسلة المصدر ، فستُرجع الدالة 0.







يوضح ما يلي بناء جملة الدالة instr ():



INSTR (src_string، sub_string) ،

تقبل الوظيفة معلمتين رئيسيتين:



  1. يشير src_string إلى سلسلة المصدر التي تريد البحث فيها.
  2. تحدد السلسلة الفرعية السلسلة الفرعية التي تبحث عنها.

من الجيد أن تضع في اعتبارك أن دالة instr () غير حساسة لحالة الأحرف. ومن ثم ، فإن الوظيفة ستحدد فقط الأنماط المطابقة مع تجاهل غلاف الحرف ،





لإجراء بحث حساس لحالة الأحرف ، يمكنك استخدام أدوات أخرى ، مثل عامل التشغيل الثنائي.

مثال على استخدام الوظيفة

توضح الأمثلة التالية كيف يمكننا استخدام دالة instr () للبحث عن سلسلة فرعية معينة.



SELECT INSTR ('MySQL محرك قاعدة بيانات رائع' ، 'قاعدة بيانات') كنقطة بيع ؛

المثال أعلاه سيعيد موضع البداية للسلسلة 'database' من السلسلة المصدر. في هذه الحالة ، يكون موضع سلسلة قاعدة البيانات هو 21 كما هو موضح في الإخراج أدناه:

نقاط البيع |

- +

21 |

مثال 2

يمكننا استخدام الدوال الدنيا () أو العلوية لتحويل سلسلة نصية إلى أحرف صغيرة أو أحرف كبيرة. يمكن أن يساعدنا ذلك في التغلب على طبيعة الوظيفة الحساسة لحالة الأحرف.

مثال:

SELECT INSTR (أقل ('MySQL محرك قاعدة بيانات رائع') ، أقل ('قاعدة بيانات')) مثل pos ؛

نتيجة:

نقاط البيع |

- +

21 |

سيؤدي هذا إلى إرجاع قيمة مماثلة للمثال الأول ، حيث يتم تحويل سلسلة المصدر والسلسلة الفرعية إلى أحرف صغيرة قبل عملية البحث.

مثال 3

يمكننا أيضًا استخدام الدالة instr () مع عمود الجدول ، كما هو موضح في بناء الجملة أدناه.

حدد INSTR (اسم_العمود ، 'سلسلة فرعية')

من table_name ؛

مثال:

إنشاء مدونات الجدول (

معرف INT NULL AUTO_INCREMENT PRIMARY KEY ،

العنوان VARCHAR (255) NOT NULL ،

محتوى النص ليس فارغًا ،

date_posted DATE NOT NULL ،

المؤلف VARCHAR (255) NOT NULL

) ؛

أدخل بعض البيانات:

INSERT INTO blogs (العنوان ، المحتوى ، date_posted ، المؤلف)

القيم ('منشور مدونتي الأولى' ، 'هذا هو محتوى أول منشور لي في المدونة.' ، '2022-12-09' ، 'جين دو') ؛

INSERT INTO blogs (العنوان ، المحتوى ، date_posted ، المؤلف)

القيم ('منشور مدونتي الثانية' ، 'هذا هو محتوى تدوينة المدونة الثانية' ، '2022-12-10' ، 'جين دو') ؛

INSERT INTO blogs (العنوان ، المحتوى ، date_posted ، المؤلف)

القيم ('منشور مدونتي الثالثة' ، 'هذا هو محتوى تدوينة مدونتي الثالثة' ، '2022-12-11' ، 'جين دو') ؛

حدد * من المدونات ؛

الجدول الناتج:

يمكننا استخدام الدالة instr () للحصول على موضع السلسلة الفرعية 'blog' في عمود المحتوى كما هو موضح:

حدد العنوان ، instr (المحتوى ، 'المنشور') من المدونات ؛

نتيجة:

استنتاج

في هذا البرنامج التعليمي ، تعلمت كيفية استخدام دالة INSTR () في MySQL للعثور على موضع سلسلة فرعية داخل سلسلة. الوظيفة حساسة لحالة الأحرف. وبالتالي ، قد تحتاج إلى استخدام وظائف مثل السفلي والعلوي لتحويل سلاسل البحث إلى الحالات التي تريدها.