REPLACE 和 TRIM
本课属于 Coddy SQL 学习旅程的“进阶内容”单元。第 9 课,共 27 课。
REPLACE(s, find, with) 会将 s 中每个 find 替换为 with:
REPLACE('555-123-4567', '-', '') -- '5551234567'TRIM(s)会去掉两端的空白字符。传入第二个参数可以去掉其他字符,使用 LTRIM / RTRIM 可以只去掉一端的字符:
TRIM(' hi ') -- 'hi'
TRIM('---hi---', '-') -- 'hi'这些方法可以在不更新表的情况下直接清理列数据。
挑战
简单可用的表和列:
contacts:id,phone
每个 phone 都可能包含开头或末尾的空格,以及任意数量的 - 分隔符。返回 id 和一个名为 clean 的列,其中移除了所有空格和短横线。按 id 排序。
亲手试试
SELECT id,
-- 去掉空格和连字符
FROM contacts
ORDER BY id
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
进阶内容中的所有课
自己练习: SQL 在线编辑器