INSTR
本课属于 Coddy SQL 学习旅程的“进阶内容”单元。第 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 开始,取出电子邮件中位于 @ 之前的所有字符。
挑战
简单可用的表和列:
signups:id,
返回每封电子邮件的 id 和域名(@ 后面的所有内容),并将域名命名为 domain。假设每封电子邮件都恰好包含一个 @。按 id 排序。
亲手试试
SELECT id,
-- '@' 后面的所有内容
FROM signups
ORDER BY id
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
进阶内容中的所有课
自己练习: SQL 在线编辑器