Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

INSTR

جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy — الدرس 8 من 27.

تُرجع الدالة INSTR(haystack, needle) موضع needle في haystack (بناءً على الفهرس 1)، أو 0 إذا لم يكن موجوداً.

INSTR('alice@example.com', '@')   -- 6
INSTR('hello', 'z')               -- 0

عند دمجها مع SUBSTR، هذه هي الطريقة التي تقسم بها سلسلة نصية بناءً على فاصل. لاستخراج الجزء الذي يسبق @ في بريد إلكتروني:

SUBSTR(email, 1, INSTR(email, '@') - 1)

أنت تقول: خذ البريد الإلكتروني، بدءاً من الموضع 1، بعدد الأحرف التي تأتي قبل الـ @.

challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

  • <strong>signups</strong>: <strong>id</strong>, <strong>email</strong>

أعد id و domain الخاص بكل بريد إلكتروني (كل شيء بعد @) كـ domain. افترض أن كل بريد إلكتروني يحتوي على @ واحدة بالضبط. رتب حسب id.

ورقة مرجعية

تُرجع INSTR(haystack, needle) الموضع (بدءاً من 1) لـ needle في haystack، أو 0 إذا لم يتم العثور عليها:

INSTR('alice@example.com', '@')   -- 6
INSTR('hello', 'z')               -- 0

استخدمها مع SUBSTR لتقسيم سلسلة نصية بناءً على فاصل:

-- الجزء قبل '@'
SUBSTR(email, 1, INSTR(email, '@') - 1)

-- الجزء بعد '@'
SUBSTR(email, INSTR(email, '@') + 1)

جرّب بنفسك

SELECT id,
       -- كل شيء بعد الـ '@'
FROM signups
ORDER BY id
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس ما وراء الأساسيات