Oracle / PLSQL: INSTR2 Function

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

Description

The Oracle/PLSQL INSTR2 function returns the location of a substring in a string, using UCS2 code points.

Syntax

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

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

Parameters or Arguments

string

The string to search. string can be CHAR, VARCHAR2, NCHAR, or NVARCHAR2. string can not be 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 INSTR2 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 INSTR2 function returns a numeric value. The first position in the string is 1.

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

Note

See also the REGEXP_INSTR function.

Applies To

The INSTR2 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 INSTR2 function examples and explore how to use the INSTR2 function in Oracle/PLSQL.

For example:

INSTR2('TechOnTheNet.com', 'e')
Result: 2   (the first occurrence of 'e')

INSTR2('TechOnTheNet.com', 'e', 1, 1)
Result: 2   (the first occurrence of 'e')

INSTR2('TechOnTheNet.com', 'e', 1, 2)
Result: 9   (the second occurrence of 'e')

INSTR2('TechOnTheNet.com', 'e', 1, 3)
Result: 11  (the third occurrence of 'e')

INSTR2('TechOnTheNet.com', 'e', -3, 2)
Result: 9