The Oracle INSTR()
function searches for a substring in a string and returns the position of the substring in a string.
Syntax
The following illustrates the syntax of the Oracle INSTR()
function:
INSTR(string , substring [, start_position [, occurrence]])
Code language: SQL (Structured Query Language) (sql)
Arguments
The Oracle INSTR()
function accepts four arguments:
string
is the string or character expression that contains the substring to be found.
substring
is the substring to be searched
start_position
is a nonzero integer that specifies where in the string the INSTR()
function begins to search. The start_position
is calculated using characters as defined by the input character set.
If the start_position
is positive, then INSTR()
function searches and counts forward from the beginning of the string. In case the start_position
is negative, the INSTR()
function will search and count backward from the end of the string.
The start_position
is an optional parameter. The default value of the start_position is 1. It means that, by default, the INSTR() function searches from the beginning of the string.
occurrence
is a positive integer that specifies which occurrence of the substring
for which the INSTR()
function should search. The occurence
is optional and its default value is 1, meaning that the INSTR()
funtion searches for the first occurrence of the substring
by default.
Return value
The INSTR()
function returns a positive integer that is the position of a substring within a string.
If the string
does not contain the substring
, the INSTR()
function returns 0 (zero).
Examples
1) Search from the start of the string
The following statement returns the location of the first occurrence of the is
substring in This is a playlist
, starting from position 1 (the first character) in the string.
SELECT
INSTR( 'This is a playlist', 'is' ) substring_location
FROM
dual;
Code language: SQL (Structured Query Language) (sql)
In this example, the INSTR() function searched for the first occurrence of the substring is
from the beginning of the string This is a playlist
.
2) Search for the 2nd and 3nd occurrence of a substring
The following statement returns the location of the 2nd and 3rd occurrences of the substring is
in This is a playlist
SELECT
INSTR( 'This is a playlist', 'is', 1, 2 ) second_occurrence,
INSTR( 'This is a playlist', 'is', 1, 3 ) third_occurrence
FROM
dual;
Code language: SQL (Structured Query Language) (sql)
In this example, we passed the start_position
as 1 and the occurrence
as 2 and 3 to instruct the INSTR()
function to search for the 2nd and 3rd occurrences of the substring is in the string This is a playlist
.
3) Search for a substring that does not exist in a string
The following example illustrates the result when the substring are
is not found in the searched string:
SELECT
INSTR( 'This is a playlist', 'are' ) substring_location
FROM
dual;
Code language: SQL (Structured Query Language) (sql)
4) Search backward
The following example searches the first occurrence of the substring is
backward from the end of the searched string.
SELECT
INSTR( 'This is a playlist', 'is',-1 ) substring_location
FROM
dual;
Code language: SQL (Structured Query Language) (sql)
In this tutorial, you have learned how to search and return the position of a substring in a string.