trim() 是一个系统函数,用于从字符串的左侧和/或右侧修剪字符(默认:空格)。
trim() 在 PostgreSQL 6.1 中添加。
用法
trim ( [LEADING|TRAILING|BOTH] [FROM]stringtext[,characterstext] ) →text
trim() 是一个 SQL 标准函数,使用关键字分隔参数;PostgreSQL 还提供了非标准、更简洁的 ltrim()、rtrim() 和 btrim() 函数,功能相同。
postgres=# SELECT trim(LEADING 'fo' FROM 'foobar'), trim(TRAILING 'bar' FROM 'foobar');
ltrim | rtrim
-------+-------
bar | foo
(1 row)
postgres=# SELECT ltrim('foobar', 'foo'), rtrim('foobar', 'bar');
ltrim | rtrim
-------+-------
bar | foo
(1 row)
还可以通过在分隔逗号后提供要删除的字符来调用 trim(),但这属于非标准语法。
postgres=# SELECT trim(LEADING FROM 'foobar', 'fo'), trim(TRAILING FROM 'foobar', 'bar'); ltrim | rtrim -------+------- bar | foo (1 row)
trim() 不会将要修剪的字符视为单词或显式序列,也不关心同一字符的多个实例,因此以下调用实际上是相同的。
postgres=# SELECT trim(LEADING 'fo' FROM 'foobar'), trim(LEADING 'ooofff' FROM 'foobar'); ltrim | ltrim -------+------- bar | bar
字符区分大小写。
请注意,trim() 的一个特点是它会根据调用返回 ltrim、rtrim 或 btrim 作为派生列名。
有关删除(或替换)字符串中字符的更灵活方法,请参阅 regexp_replace()。
变更历史
- PostgreSQL 6.1
- 添加(提交 3c2d74d2)
示例
从字符串的两端删除空格
postgres=# SELECT trim(BOTH FROM ' foobar '); btrim -------- foobar (1 row)
从字符串的左侧删除所有实例的 !、? 和 #。
postgres=# SELECT trim(LEADING '!?#' FROM '##??!!foo##bar'); ltrim ---------- foo##bar (1 row)
参考资料
- PostgreSQL 文档: SQL 字符串函数和操作符
反馈
请在此处 提交有关“trim()”的任何评论、建议或更正。