UPPER、LOWER、SUBSTRING、REPLACE
规范化大小写,按位置和长度截取子字符串,并替换文本中的模式。
UPPER、LOWER、SUBSTRING、REPLACE 是 CoddyKit 上的免费 SQL Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 SQL Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 SQL Academy 课程共包含 4 节课。
大小写转换
两个基本函数:
SELECT UPPER('hello'); -- HELLO
SELECT LOWER('Hello'); -- hello
SELECT INITCAP('hello world'); -- 'Hello World' (PostgreSQL extension)为什么要统一大小写
电子邮件的比较应该不区分大小写,但存储时应保留原始大小写。请在比较时进行统一:
SELECT * FROM users WHERE LOWER(email) = LOWER('USER@Example.COM');
-- Or use a functional index:
CREATE INDEX users_email_lower_idx ON users (LOWER(email));Citext:不区分大小写的文本类型
对于应该始终以不区分大小写的方式进行比较的列,请使用 citext 扩展:
CREATE EXTENSION IF NOT EXISTS citext;
CREATE TABLE users (email CITEXT UNIQUE);SUBSTRING
根据起始位置和长度提取子字符串:
SELECT SUBSTRING('PostgreSQL', 1, 4); -- 'Post'
SELECT SUBSTRING('PostgreSQL' FROM 5); -- 'greSQL'
-- 1-based indexing, not 0-based使用正则表达式的 SUBSTRING
PostgreSQL 也接受正则表达式模式:
SELECT SUBSTRING('user@example.com' FROM '@(.+)$');
-- 'example.com'LEFT 和 RIGHT
“前 N 个”和“后 N 个”的快捷方式:
SELECT LEFT('PostgreSQL', 4); -- 'Post'
SELECT RIGHT('PostgreSQL', 3); -- 'SQL'REPLACE
替换子字符串的每一次出现:
SELECT REPLACE('hello world', 'world', 'SQL'); -- 'hello SQL'
SELECT REPLACE(phone, '-', ''); -- strip dashesREGEXP_REPLACE
按模式替换:
SELECT REGEXP_REPLACE('Order #1234', '[^0-9]', '', 'g'); -- '1234'
SELECT REGEXP_REPLACE(text, '\s+', ' ', 'g'); -- collapse whitespaceLENGTH 和 CHAR_LENGTH
按字符而不是字节计算长度(支持 Unicode):
SELECT LENGTH('héllo'); -- 5
SELECT CHAR_LENGTH('héllo'); -- 5
SELECT OCTET_LENGTH('héllo'); -- 6 (UTF-8 byte length)POSITION 和 STRPOS
查找子字符串的位置:
SELECT POSITION('SQL' IN 'PostgreSQL'); -- 8
SELECT STRPOS('PostgreSQL', 'SQL'); -- 8REVERSE
反转字符串:
SELECT REVERSE('hello'); -- 'olleh'回顾
大小写转换、子字符串处理和替换涵盖了大多数文本处理需求。
- 使用 LOWER/UPPER 统一大小写
- 使用 SUBSTRING 截取字符串
- 固定替换使用 REPLACE,模式替换使用 REGEXP_REPLACE
快速检查
SUBSTRING('database', 5, 4) 会返回什么?
常见问题解答
「UPPER、LOWER、SUBSTRING、REPLACE」课时是免费的吗?
是的 — 「UPPER、LOWER、SUBSTRING、REPLACE」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 SQL Academy 课程的其余内容,请升级到 CoddyKit PRO。 SQL Academy 课程共包含 4 节课。
「UPPER、LOWER、SUBSTRING、REPLACE」这节课中我会学到什么?
规范化大小写,按位置和长度截取子字符串,并替换文本中的模式。 你通过在浏览器中直接运行的动手代码来练习 SQL Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 SQL Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 SQL Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「UPPER、LOWER、SUBSTRING、REPLACE」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 SQL Academy 课中编写并运行代码吗?
能。每节 SQL Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 字符串连接:|| 与 CONCAT
- UPPER、LOWER、SUBSTRING、REPLACE
- TRIM、LPAD、RPAD
- 全文搜索简介(tsvector、to_tsquery)