| Firebird Documentation Index → Firebird 2.1 Language Ref. Update → Internal functions → REPLACE() |
![]() |
Find a more recent version at Firebird 5.0 Language Reference: REPLACE()
Available in: DSQL, PSQL
Added in: 2.1
Description: Replaces all occurrences of a substring in a string.
Result type: VARCHAR or BLOB
Syntax:
REPLACE (str,find,repl)
This function fully supports text BLOBs of any length and character set.
If any argument is a BLOB, the result is a BLOB. Otherwise, the result is a VARCHAR(
n) withncalculated from the lengths ofstr,findandreplin such a way that even the maximum possible number of replacements won't overflow the field.If
findis the empty string,stris returned unchanged.If
replis the empty string, all occurrences offindare deleted fromstr.If any argument is
NULL, the result is alwaysNULL, even if nothing would have been replaced.
Examples:
replace ('Billy Wilder', 'il', 'oog') -- returns 'Boogly Woogder'
replace ('Billy Wilder', 'il', '') -- returns 'Bly Wder'
replace ('Billy Wilder', null, 'oog') -- returns NULL
replace ('Billy Wilder', 'il', null) -- returns NULL
replace ('Billy Wilder', 'xyz', null) -- returns NULL (!)
replace ('Billy Wilder', 'xyz', 'abc') -- returns 'Billy Wilder'
replace ('Billy Wilder', '', 'abc') -- returns 'Billy Wilder'
When used on a BLOB, this function may need to load the entire object into memory. This may affect performance if huge BLOBs are involved.
See also: OVERLAY()
| Firebird Documentation Index → Firebird 2.1 Language Ref. Update → Internal functions → REPLACE() |