Menu
Coddy logo textTech

INSTR

Teil des Abschnitts Über die Grundlagen hinaus der SQL-Journey von Coddy — Lektion 8 von 27.

INSTR(haystack, needle) gibt die 1-basierte Position von needle in haystack zurück, oder 0, wenn es nicht vorhanden ist.

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

Kombiniert mit SUBSTR lässt sich so eine Zeichenfolge an einem Trennzeichen aufteilen. Um den Teil vor dem @ in einer E-Mail zu extrahieren:

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

Sie sagen: Nehmen Sie die E-Mail, beginnend bei Position 1, für so viele Zeichen, wie vor dem @ stehen.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

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

Gib die id und die domain jeder E-Mail (alles nach dem @) als domain zurück. Gehe davon aus, dass jede E-Mail genau ein @ enthält. Sortiere nach id.

Spickzettel

INSTR(haystack, needle) gibt die 1-basierte Position von needle in haystack zurück, oder 0, falls sie nicht gefunden wird:

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

Verwenden Sie dies mit SUBSTR, um einen String an einem Trennzeichen zu teilen:

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

-- Teil nach '@'
SUBSTR(email, INSTR(email, '@') + 1)

Probier es selbst

SELECT id,
       -- alles nach dem '@'
FROM signups
ORDER BY id
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Über die Grundlagen hinaus