Oracle / PLSQL: INSTR Function

This article is written about how to use the Oracle/PLSQL INSTR function with syntax and examples.

Description

The Oracle/PLSQL INSTR function returns the location of a substring in a string.

Syntax

The syntax for the INSTR function in Oracle/PLSQL is:

INSTR( string, substring [, start_position [, th_appearance ] ] )

Parameters or Arguments

string

The string to search. string can be CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB.

substring

The substring to search for in string. substring can be CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB.

start_position

Optional. The position in string where the search will start. If omitted, it defaults to 1. The first position in the string is 1. If the start_position is negative, the INSTR function counts back start_position number of characters from the end of string and then searches towards the beginning of string.

nth_appearance

Optional. The nth appearance of substring. If omitted, it defaults to 1.

Returns

The INSTR function returns a numeric value. The first position in the string is 1.

If substring is not found in string, then the INSTR function will return 0.

Note

See also the REGEXP_INSTR function.

Applies To

The INSTR function can be used in the following versions of Oracle/PLSQL:

Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

Example

Let’s look at some Oracle INSTR function examples and explore how to use the INSTR function in Oracle/PLSQL.

For example:

INSTR('Tech on the net', 'e')
Result: 2   (the first occurrence of 'e')

INSTR('Tech on the net', 'e', 1, 1)
Result: 2   (the first occurrence of 'e')

INSTR('Tech on the net', 'e', 1, 2)
Result: 11  (the second occurrence of 'e')

INSTR('Tech on the net', 'e', 1, 3)
Result: 14  (the third occurrence of 'e')

INSTR('Tech on the net', 'e', -3, 2)
Result: 2