Menu
Coddy logo textTech

INSTR

Coddy'nin SQL Journey'sinin Temellerin Ötesi bölümünün bir parçası — ders 8 / 27.

INSTR(haystack, needle), haystack içindeki needle ifadesinin 1 tabanlı konumunu döndürür veya orada değilse 0 döndürür.

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

SUBSTR ile birleştirildiğinde, bir dizeyi bir ayırıcıya göre bu şekilde bölersiniz. Bir e-postadaki @ işaretinden önceki kısmı çıkarmak için:

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

Şunu söylüyorsunuz: e-postayı, 1. konumdan başlayarak, @ işaretinden önce gelen karakter sayısı kadar alın.

challenge icon

Görev

Kolay

Mevcut tablolar ve sütunlar:

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

id sütununu ve her e-postanın domain kısmını (@ işaretinden sonraki her şeyi) domain olarak döndürün. Her e-postanın tam olarak bir tane @ içerdiğini varsayın. id sütununa göre sıralayın.

Kopya kağıdı

INSTR(haystack, needle), haystack içindeki needle ifadesinin 1 tabanlı konumunu döndürür; bulunamazsa 0 döndürür:

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

Bir dizeyi bir ayırıcıya göre bölmek için SUBSTR ile birlikte kullanın:

-- '@' işaretinden önceki kısım
SUBSTR(email, 1, INSTR(email, '@') - 1)

-- '@' işaretinden sonraki kısım
SUBSTR(email, INSTR(email, '@') + 1)

Kendin dene

SELECT id,
       -- '@' işaretinden sonraki her şey
FROM signups
ORDER BY id
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temellerin Ötesi bölümündeki tüm dersler