MySQL
MySQL
SELECT SUBSTRING('abcdef', 2, 3); -- 'bcd'
SELECT SUBSTRING('abcdef', -3); -- 'def'(从尾部数 3 个)
SELECT SUBSTRING('abcdef', -3, 2); -- 'de'PostgreSQL
PostgreSQL
SELECT substring('abcdef' from 2 for 3); -- 'bcd'
SELECT substr('abcdef', 2, 3); -- 'bcd'
SELECT right('abcdef', 3); -- 'def'| 位置基准 | 两库都从 1 开始计数 |
|---|---|
| 省略长度 | 截取到字符串末尾 |
| 负位置 | MySQL 从尾部数;PostgreSQL 用 right()/reverse() 组合表达 |