8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 21:23:04 +01:00
firebird-mirror/doc/sql.extensions/README.trim
MrTeeett 56e8c6224c
Add multi-character TRIM function (#8015)
* Add multi-character TRIM function

* Follow Adriano's suggestion

Co-authored-by: Adriano dos Santos Fernandes <529415+asfernandes@users.noreply.github.com>

---------

Co-authored-by: Dmitry Yemanov <dyemanov@users.noreply.github.com>
Co-authored-by: Adriano dos Santos Fernandes <529415+asfernandes@users.noreply.github.com>
2024-03-25 19:46:05 +03:00

49 lines
1.4 KiB
Plaintext

SQL Language Extension: TRIM
Function:
Remove leading, trailing or both substring from a string.
Author:
Adriano dos Santos Fernandes <adrianosf@uol.com.br>
Format:
<trim function> ::=
TRIM <left paren> [ [ <trim specification> ] [ <trim character> ] FROM ] <value expression> <right paren>
<trim specification> ::=
LEADING
| TRAILING
| BOTH
<trim character> ::=
<value expression>
<multi-character trim function> ::=
{ BTRIM | LTRIM | RTRIM } <left paren> <value expression> [ <comma> <trim character> ] <right paren>
Syntax Rules:
1) If <trim specification> is not specified, BOTH is assumed.
2) If <trim character> is not specified, ' ' is assumed.
3) If <trim specification> and/or <trim character> is specified, FROM should be specified.
4) If <trim specification> and <trim character> is not specified, FROM should not be specified.
5) multi-character trim function accepts a sequence of characters as the second argument and will remove all
leading, trailing, or both occurrences of any of these characters, regardless of their ordering.
Examples:
A)
select
rdb$relation_name, trim(leading 'RDB$' from rdb$relation_name)
from rdb$relations
where rdb$relation_name starting with 'RDB$';
B)
select
trim(rdb$relation_name) || ' is a system table'
from rdb$relations
where rdb$system_flag = 1;
C)
select
ltrim('baobab is a tree', 'aboe')
from rdb$database;