TRIM、LPAD、RPAD
使用 TRIM/LTRIM/RTRIM 清理空白,并使用 LPAD 和 RPAD 填充固定宽度的标识符。
TRIM、LPAD、RPAD 是 CoddyKit 上的免费 SQL Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 SQL Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 SQL Academy 课程共包含 4 节课。
TRIM:移除填充
默认移除开头和结尾的空白字符:
SELECT TRIM(' hello '); -- 'hello'
SELECT LTRIM(' hello '); -- 'hello '
SELECT RTRIM(' hello '); -- ' hello'使用自定义字符的 TRIM
移除任意字符:
SELECT TRIM(BOTH '0' FROM '0001230'); -- '123'
SELECT TRIM(LEADING '#' FROM '#hashtag'); -- 'hashtag'清理用户输入
插入或更新时,始终对用户提交的字符串执行 trim,否则 ' bob ' 和 'bob' 会成为不同行:
INSERT INTO users (full_name) VALUES (TRIM(:input));
-- Or enforce at the database with a trigger / CHECK:
ALTER TABLE users
ADD CONSTRAINT name_not_padded CHECK (full_name = TRIM(full_name));LPAD 和 RPAD
填充到固定宽度:
SELECT LPAD('7', 4, '0'); -- '0007' (left-pad)
SELECT RPAD('hi', 5, '.'); -- 'hi...' (right-pad)
SELECT LPAD(id::TEXT, 6, '0') FROM orders; -- '000123'构建收据样式的输出
组合使用 PAD 和 CONCAT,生成等宽字体报表:
SELECT RPAD(product_name, 20, '.') || LPAD(price::TEXT, 8, '.') FROM products;TRANSLATE:逐字符转换
第二个参数中的每个字符都会映射到第三个参数中相同位置的字符:
SELECT TRANSLATE('abc123', 'abc', 'xyz'); -- 'xyz123'
SELECT TRANSLATE(phone, '-() ', ''); -- strip multiple chars at once拆分字符串
拆分为数组:
SELECT STRING_TO_ARRAY('a,b,c,d', ','); -- {'a','b','c','d'}
SELECT REGEXP_SPLIT_TO_ARRAY('a1 b2 c3', '\s+');将字符串拆分结果重新转换为行
使用 UNNEST 将数组列展开为多行:
SELECT id, UNNEST(tags) AS tag FROM posts;将数组重新连接为字符串
这是拆分操作的逆操作:
SELECT ARRAY_TO_STRING(ARRAY['a','b','c'], ', '); -- 'a, b, c'REPEAT
将字符串重复 N 次:
SELECT REPEAT('-', 30); -- 30 dashes
SELECT 'Hello' || REPEAT('!', 5); -- 'Hello!!!!!'填充与存储
不要使用 CHAR(n) 来让值“看起来已填充”——它会存储带空格填充的值,导致各种意外。请使用 VARCHAR/TEXT,并在需要显示时于 SELECT 阶段进行填充。
回顾
字符串整理包括:输入时清理用户数据,输出时为显示进行填充,需要字符映射时进行转换。
快速检查
您想将订单 ID 格式化为 6 位、以零填充的字符串(例如 000123)。应该使用哪个函数?
常见问题解答
「TRIM、LPAD、RPAD」课时是免费的吗?
是的 — 「TRIM、LPAD、RPAD」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 SQL Academy 课程的其余内容,请升级到 CoddyKit PRO。 SQL Academy 课程共包含 4 节课。
「TRIM、LPAD、RPAD」这节课中我会学到什么?
使用 TRIM/LTRIM/RTRIM 清理空白,并使用 LPAD 和 RPAD 填充固定宽度的标识符。 你通过在浏览器中直接运行的动手代码来练习 SQL Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 SQL Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 SQL Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「TRIM、LPAD、RPAD」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 SQL Academy 课中编写并运行代码吗?
能。每节 SQL Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。