EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • All Courses
    • All Specializations
  • Blog
  • Enterprise
  • Free Courses
  • All Courses
  • All Specializations
  • Log in
  • Sign Up
Home Software Development Software Development Tutorials PL/SQL Tutorial PL/SQL instr
 

PL/SQL instr

Updated April 5, 2023

PL/SQL instr

 

 

Definition of PL/SQL instr

PL/SQL provides the different types of function the user, in which that instr () function is one of the functions provided by the PL/SQL. Basically, the instr () function is used to display the position of the substring from a string that means it performs the search operation to return the substring. The instr () function is used to indicate the character in the string that means the very first character from the string or we can say that occurrence of characters. It is also used to calculate the string by using a character set as per our requirement. The substring may be char, varchar2, nchar, clob, or nclob data type that means the substring can be any data type.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

Syntax:

instr(specified string, specified substring [, starting position[, Nth appearance position]])

Explanation

In the above syntax, we use the instr () function with different parameters as follows.

  • specified string: specified string means a string in which we need to search the substring and it has any one of the data types char, varchar2, nchar, clob, etc.
  • specified substring: It specifies the substring that we need to search in string and it has any one of the data types char, varchar2, nchar, clob, etc.
  • starting position: It’s an optional argument that specifies the place in the text where the search should begin. 1 is the default value. If the value inserted is negative, the INSTR () function counts back to start position the number of characters from the end of the string and then looks towards the beginning of the string.
  • Nth appearance position: It’s an optional argument that specifies the substring’s nth appearance. 1 is the default value.

How instr works in PL/SQL?

Now let’s see how the instr () function works in PL/SQL as follows.

Basically, the instr () function accepted four different parameters such as substring, string, starting position, and nth appearance. The function returns an integer reflecting the location of the first character of this occurrence in the string. INSTRC makes use of full Unicode characters. UCS2 code points are used in INSTR2. UCS4 code points are used by INSTR4. Starting location is a nonzero number that indicates where Oracle Database starts searching for a character in a string. When we need to search in the backward direction at that time we need to specify the negative number. Nth occurrence is a number that tells Oracle the occurrence of a string to look for. The occurrence value must be positive. CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB are all valid data types for string and substring.

Both location and occurrence must resolve to an integer and be of data type NUMBER, or any data type that may be automatically transformed to NUMBER. The default settings for both location and occurrence are 1, which means Oracle starts looking for the first occurrence of the substring at the first character of the string. If the search fails (if the substring does not exist many times after the string’s position character), the return result is 0.

Examples

Now, let’s give a different example of the instr () function in PL/SQL for better understanding as follows.

SET SERVEROUTPUT ON;
DECLARE
Sample_String string(50) := 'Welcome in first PL/SQL program';
BEGIN
dbms_output.put_line(INSTR(Sample_String, 'p'));
END;
/

Explanation

In the above example first, we set server output on, after that in the declaration section we declare the string as shown in the above example. Here we use the Sampl_string variable to store the string and in the execution section, we write the procedure to display the position of the substring. In this example we implement the forward character search, here we need to find the position in the “P” character that we call substring. The final output of the above example we illustrated by using the following screenshot as follows.

PL SQL instr1

Now let’s see another example of the instr () function as follows.

SET SERVEROUTPUT ON;
DECLARE
Sample_String string(50) := 'Welcome in first PL/SQL program';
BEGIN
dbms_output.put_line(INSTR(Sample_String, 'i', 1, 1));
END;
/

Explanation

In the above example first, we set server output on, after that in the declaration section we declare the string as shown in the above example. Here we use the Sampl_string variable to store the string and in the execution section, we write the procedure to display the position of the substring. In this we try to implement the instr () function with character position, here we need to search the “i” character and we pass the default value of starting position and appearance position as shown in the above example. The final output of the above example we illustrated by using the following screenshot as follows.

PL SQL instr 2

Now let’s see another example of the instr () function to search substring in a particular position as follows.

SET SERVEROUTPUT ON;
DECLARE
Sample_String string(50) := 'WelcomeinfirstPL/SQ program';
BEGIN
dbms_output.put_line(INSTR(Sample_String, 'o', 1, 6));
END;
/

Explanation

In the above example first, we set serveroutput on, after that in the declaration section we declare the string as shown in the above example. Here we use the Sampl_string variable to store the string and in the execution section, we write the procedure to display the position of the substring. In this example, we need to find the substring at the 6th position with a forwarding search. The final output of the above example we illustrated by using the following screenshot as follows.

PL SQL instr 3

Now let’s see another example instr () function with backward search as follows.

SET SERVEROUTPUT ON;
DECLARE
Sample_String string(50) := 'WelcomeinfirstPL/SQ program';
BEGIN
dbms_output.put_line(INSTR(Sample_String, 'in', -2, 1));
END;
/

Explanation

In this example we try to implement the instr() function with a backward position as shown. . The final output of the above example we illustrated by using the following screenshot as follows.

PL SQL instr 4

SET SERVEROUTPUT ON;
DECLARE
Sample_String string(50) := 'WelcomeinfirstPL/SQ program';
BEGIN
dbms_output.put_line(INSTR(Sample_String, 'first', 1, 1));
END;
/

Explanation

In this example, we need to find the position of the “first” substring as shown. The final output of the above example we illustrated by using the following screenshot as follows.

output

Conclusion

We hope from this article you learn PL/SQL instr. From the above article, we have learned the basic syntax of instr and we also see different examples of the instr. From this article, we learned how and when we use PL/SQL instr.

Recommended Articles

We hope that this EDUCBA information on “PL/SQL instr” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

  1. PL/SQL exit
  2. PL/SQL GOTO
  3. PL/ SQL having
  4. PL/SQL Boolean
Primary Sidebar
Footer
Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW