EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials MySQL Tutorial MySQL SUBSTRING_INDEX()
 

MySQL SUBSTRING_INDEX()

Priya Pedamkar
Article byPriya Pedamkar

Updated May 17, 2023

MySQL SUBSTRING_INDEX()

 

 

Definition of MySQL SUBSTRING_INDEX()

The substring_index() function outputs a substring from a source string before a definite number of occurrences of the delimiter. When a positive number is passed as a parameter, the function scans the string from the left-hand side until the delimiter is found, and the function scan from the right-hand side of the string if the passed parameter is negative.

Watch our Demo Courses and Videos

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

If the specified number is 0, nothing will be fetched from the given string.

Syntax:

The substring_index() function contains three arguments string, delimiter, and N. They are discussed below.

Substring_index(source string, delimiter,N)

Where,

  • String: string is the given string or the source string from which a substring is to be extracted or changes need to be done. The source string should be written in quotes (‘’).
  • Delimiter: Delimiter is a string that acts as a separator. The substring function searches for a case-sensitive match. The delimiter should also be written in quotes(‘’). The delimiter can be a single character or a group of characters.
  • N: N is an integer that states the number of occurrences of the delimiter. The integer N can be negative or positive. If n is positive, the function outputs every character of string from the left of the string till N number of occurrences of the delimiter. If N is negative, the function outputs every character of the string from right till N number of occurrences of the delimiter.

Examples of MySQL SUBSTRING_INDEX()

Following are the examples are given below:

Example #1

Code:

select substring_index('Tutorial class','r',1);

In the above example, the source string is “Tutorial class”, a delimiter is ‘r’ which acts as a separator, and the which is an integer acts as a counter variable is 1, which means it is searching for the first occurrence of ‘r’ in the given string. Therefore, the substring_index() function first scans the entire string from left since the number is positive and stops the scanning where the function will encounter its first ‘r’ and outputs the extracted string as substring as a result on the output console.

Output:

MySQL SUBSTRING_INDEX()-1.1

Example #2

Code:

select substring_index('Tutorial class','l',2);

Output:

MySQL SUBSTRING_INDEX()-1.2

Example #3

Code:

select substring_index('Tutorial class','a',1);

Output:

MySQL SUBSTRING_INDEX()-1.3

Demonstration of substring_index() function by passing a negative number as a parameter in the function. A negative number scans the string for the occurrence of the separator from the right-hand side.

Example #4

Code:

select substring_index('Tutorial class','a',-1);

Output:

MySQL SUBSTRING_INDEX()-1.4

Example #5

Code:

select substring_index('Tutorial class','a',-2);

Output:

MySQL SUBSTRING_INDEX()-1.5

In the above example, the source string is “Tutorial class”, the delimiter is ‘a’, which acts as a separator, and the N, which is an integer, acts as a counter variable is -2, which means it is searching for the first occurrence of ‘r’ in the given string. Therefore, the substring_index() function first scans the entire string from the right-hand side since the number is negative and stops the scanning where the function will encounter its second ‘a’ and outputs the extracted string as substring as a result on the output console.

Example #6

Code:

select substring_index('Tutorial class','s',-2);

Output:

Output-1.6

Example #7

Code:

select substring_index('www.google.com','.',-2);

Output:

Output-1.7

Note: If the passed number (N)as a parameter in the function is more than the number of occurrences of delimiter or the separator in the source string, the function will output the complete source string as a result.

Below query will explain the above case:

Example #8

Code:

select substring_index('www.google.com','.',3);

Output:

Output-1.8

In the above example, since I have passed three as a parameter for the number(N) argument, which is more than the actual number of delimiter in the source string. Therefore the function outputs the complete source string as output in the output console.

Note: If 0 is passed in the function in the number parameter as an argument, nothing will be extracted from the given or the source string.

The below example will explain the above case properly:

Example #9

Code:

select substring_index('www.google.com','.',0);

Output:

Output-1.9

Nothing will be displayed as 0 is passed in the number parameter.

Note: We can also pass more than one character as a delimiter in the function.

The below example will explain the concept of passing more than one character as a delimiter in the function.

Example #10

Code:

Select substring_index ('www.google.com','oo',1);

Output:

Output-1.10

In the above example, the source string is “www.google.com”, a delimiter is ‘oo’ which acts as a separator which is a combination of characters, and the N, which is an integer, acts as a counter variable is 1, which means it is searching for the first occurrence of ‘oo’ together in the given string. Therefore, the substring_index() function first scans the entire string from the left-hand side since the number is positive and stops the scanning where the function will encounter its first ‘oo’ and outputs the extracted string as substring as a result on the output console.

Versions of MySQL that have substring_index function

Below mentioned mysql versions have substring_index() function:

MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Conclusion

This article taught us about the mysql substring_index() function. We have learned how the function works and returns a substring or a part of a string, either an entire string or a definite part. In this article, we have also learned about its parameters like number (N).

We have also learned about the negative and positive numbers and their working. We have tried to explain the function with examples. The article also contains screenshots of the outputs of each query on the output console that will give a clear picture to the reader.

Recommended Articles

We hope that this EDUCBA information on “MySQL SUBSTRING_INDEX()” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

  1. Unique Key in MySQL
  2. MySQL IN Operator
  3. MySQL Subquery
  4. IF Statement in MySQL

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
Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA

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

Hadoop, Data Science, Statistics & 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

*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