0Pricing
SQL Academy · 课时

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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 字符串连接:|| 与 CONCAT
  2. UPPER、LOWER、SUBSTRING、REPLACE
  3. TRIM、LPAD、RPAD
  4. 全文搜索简介(tsvector、to_tsquery)
← 返回 SQL Academy