INSTR
CoddyのSQLジャーニー「応用」セクションの一部。レッスン 8/27。
INSTR(haystack, needle)は、haystack内にあるneedleの1始まりの位置を返します。存在しない場合は0を返します。
INSTR('alice@example.com', '@') -- 6
INSTR('hello', 'z') -- 0SUBSTRと組み合わせることで、区切り文字で文字列を分割できます。メールアドレス内の@より前の部分を抽出するには:
SUBSTR(email, 1, INSTR(email, '@') - 1)email の位置 1 から始めて、@ よりbeforeにある文字をすべて取得する、という意味です。
チャレンジ
簡単利用可能なテーブルとカラム:
signups:id、
各 email の id と domain(@ の後にある everything)を domain として返してください。すべての email には @ がちょうど1つ含まれているものとします。id の順に並べてください。
自分で試してみよう
SELECT id,
-- '@' の後のすべて
FROM signups
ORDER BY id
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
応用のすべてのレッスン
自分で練習してみよう: SQLプレイグラウンド