trim()
是一个系统函数,用于从字符串的左侧和/或右侧修剪字符(默认:空格)。
trim()
在 PostgreSQL 6.1 中添加。
用法
trim ( [LEADING
|TRAILING
|BOTH
] [FROM
]string
text
[,characters
text
] ) →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 字符串函数和运算符