8.3.11. POSITION()
Available in
DSQL, PSQL
Syntax
POSITION (substr IN string)
| POSITION (substr, string [, startpos])
Parameter | Description |
---|---|
substr | The substring whose position is to be searched for |
string | The string which is to be searched |
startpos | The position in string where the search is to start |
Result type
INTEGER
Description
Returns the (1-based) position of the first occurrence of a substring in a host string. With the optional third argument, the search starts at a given offset, disregarding any matches that may occur earlier in the string. If no match is found, the result is 0.
Notes
The optional third argument is only supported in the second syntax (comma syntax).
The empty string is considered a substring of every string. Therefore, if substr is
''
(empty string) and string is notNULL
, the result is:1 if startpos is not given;
startpos if startpos lies within string;
0 if startpos lies beyond the end of string.
Notice: A bug in Firebird 2.1 - 2.1.3 and 2.5.0 causes
POSITION
to always return 1 if substr is the empty string. This is fixed in 2.1.4 and 2.5.1.This function fully supports text
BLOB
s of any size and character set.
Examples
position ('be' in 'To be or not to be') -- returns 4
position ('be', 'To be or not to be') -- returns 4
position ('be', 'To be or not to be', 4) -- returns 4
position ('be', 'To be or not to be', 8) -- returns 17
position ('be', 'To be or not to be', 18) -- returns 0
position ('be' in 'Alas, poor Yorick!') -- returns 0
When used on a |
See also