The PLSQL INSTR function is used for returning the location of a substring in a string.
The PLSQL INSTR function searches a string for a substring specified by the user using characters and returns the position in the string that is the first character of a specified occurrence of the substring.
The PLSQL INSTR function accepts four parameters which are string, substring, start position and the nth appearance.
The string and substring can be of any of the datatypes such as CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB.
Syntax:
INSTR(string, substring [, start_position [, nth_appearance ]])
Parameters Used
- string -
It is used to specify the string in which the substring needs to be searched. It can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB.
- substring -
It is used to specify the substring which needs to be searched. It can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB.
- start_position -
It is an optional parameter which is used to specify the position in the string from where the search will start. The default value is 1. The INSTR function counts back to start_position the number of characters from the end of the string and then searches towards the beginning of string if the value inserted is negative.
- nth appearance -
It is an optional parameter which is used to specify the nth appearance of substring. The default value is 1.
Supported Versions of Oracle/PLSQL:
- Oracle 12c
- Oracle 11g
- Oracle 10g
- Oracle 9i
- Oracle 8i
Example-1: Using Character to Search Forward to Find the Position of a Substring.
DECLARE
Test_String string(20) := 'Geeksforgeeks';
BEGIN
dbms_output.put_line(INSTR(Test_String, 'e'));
END;
Output:
2
Example-2: Using Character Position to Search Forward to Find the Position of a Substring.
DECLARE
Test_String string(20) := 'Geeksforgeeks';
BEGIN
dbms_output.put_line(INSTR(Test_String, 'e', 1, 1));
END;
Output:
2
Example-3: Using Character Position to Search Forward to Find the Position of a Substring in the 3rd position.
DECLARE
Test_String string(20) := 'Geeksforgeeks';
BEGIN
dbms_output.put_line(INSTR(Test_String, 'e', 1, 3));
END;
Output:
10
Example-4: Using Character Position to Search Backward to Find the Position of a Substring.
DECLARE
Test_String string(20) := 'Geeksforgeeks';
BEGIN
dbms_output.put_line(INSTR(Test_String, 'e', -2, 1));
END;
Output:
11
Example-5: Using a Triple-Byte Character Set to Find the Position of a Substring.
DECLARE
Test_String string(20) := 'Geeksforgeeks';
BEGIN
dbms_output.put_line(INSTR(Test_String, 'for', 1, 1));
END;
Output:
6
Similar Reads
SQL Interview Questions Are you preparing for a SQL interview? SQL is a standard database language used for accessing and manipulating data in databases. It stands for Structured Query Language and was developed by IBM in the 1970's, SQL allows us to create, read, update, and delete data with simple yet effective commands.
15+ min read
SQL Tutorial SQL is a Structured query language used to access and manipulate data in databases. SQL stands for Structured Query Language. We can create, update, delete, and retrieve data in databases like MySQL, Oracle, PostgreSQL, etc. Overall, SQL is a query language that communicates with databases.In this S
11 min read
SQL Commands | DDL, DQL, DML, DCL and TCL Commands SQL commands are crucial for managing databases effectively. These commands are divided into categories such as Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), Data Query Language (DQL), and Transaction Control Language (TCL). In this article, we will e
7 min read
SQL Joins (Inner, Left, Right and Full Join) SQL joins are fundamental tools for combining data from multiple tables in relational databases. Joins allow efficient data retrieval, which is essential for generating meaningful observations and solving complex business queries. Understanding SQL join types, such as INNER JOIN, LEFT JOIN, RIGHT JO
6 min read
Introduction of DBMS (Database Management System) A Database Management System (DBMS) is a software solution designed to efficiently manage, organize, and retrieve data in a structured manner. It serves as a critical component in modern computing, enabling organizations to store, manipulate, and secure their data effectively. From small application
8 min read
SQL Query Interview Questions SQL or Structured Query Language, is the standard language for managing and manipulating relational databases such as MySQL, Oracle, and PostgreSQL. It serves as a powerful tool for efficiently handling data whether retrieving specific data points, performing complex analysis, or modifying database
15 min read
CTE in SQL In SQL, a Common Table Expression (CTE) is an essential tool for simplifying complex queries and making them more readable. By defining temporary result sets that can be referenced multiple times, a CTE in SQL allows developers to break down complicated logic into manageable parts. CTEs help with hi
6 min read
Window Functions in SQL SQL window functions are essential for advanced data analysis and database management. They enable calculations across a specific set of rows, known as a "window," while retaining the individual rows in the dataset. Unlike traditional aggregate functions that summarize data for the entire group, win
7 min read
SQL | WITH Clause SQL queries can sometimes be complex, especially when you need to deal with multiple nested subqueries, aggregations, and joins. This is where the SQL WITH clause also known as Common Table Expressions (CTEs) comes in to make life easier. The WITH Clause is a powerful tool that simplifies complex SQ
6 min read
SQL Exercises : SQL Practice with Solution for Beginners and Experienced SQL (Structured Query Language) is a powerful and flexible tool for managing and manipulating relational databases. Regardless of our experience level, practising SQL exercises is essential for improving our skills. Regular practice not only enhances our understanding of SQL concepts but also builds
15+ min read