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') -- 0SUBSTR 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.
Görev
KolayMevcut 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') -- 0Bir 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
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
2String Fonksiyonları
LENGTH, UPPER, LOWERSUBSTRINSTRREPLACE ve TRIM|| ile BirleştirmeÖzet - Faturalar