首页/数据/SQL 速查/REPEAT / REVERSE 重复与反转
本包目录(311 条)
查询基础33 条连接与子查询40 条聚合与窗口函数54 条
函数速查60 条
变更与事务52 条性能与执行计划72 条

REPEAT / REVERSE 重复与反转

重复字符串与反转字符串:造分隔线、生成占位、验证回文与编码问题时会用到。

SQL 速查数据更新于 2026-10-12

MySQL

MySQL
SELECT REPEAT('-', 10);   -- '----------'
SELECT REVERSE('abc');    -- 'cba'
SELECT SPACE(5);          -- '     '(5 个空格)

PostgreSQL

PostgreSQL
SELECT repeat('-', 10);
SELECT reverse('abc');
SELECT repeat(' ', 5);    -- PG 没有 SPACE(),用 repeat 代替
参数规则n<=0 时 REPEAT 返回空串
NULL任一参数为 NULL 结果为 NULL
大 n生成的字符串可能很大,谨防打满内存与结果集上限

易错点

  • REPEAT 配合超大 n(如 REPEAT('x', 100000000))会消耗大量内存,测试语句别在生产直接跑
  • REVERSE 反转二进制/多字节字符串时语义按字符处理,反转后再比较可能与你按字节的直觉不一致

数据来源与参考

  • MySQL 8.0 Reference Manual · String Functions
  • PostgreSQL Documentation · String Functions and Operators
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌