Defintion 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 left hand side till the delimiter is found and the function scan from right-hand side of the string if the passed parameter is negative.
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 needs to be done. The source string should be written in quotes (‘’).
- Delimiter: Delimiter 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 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 a positive number and stop the scanning where the function will encounter its first ‘r’ and outputs the extracted string as substring as result on the output console.
Output:
Example #2
Code:
select substring_index('Tutorial class','l',2);
Output:
Example #3
Code:
select substring_index('Tutorial class','a',1);
Output:
Demonstration of substring_index() function by passing a negative number as a parameter in the function. Negative number scans the string for the occurrence of the separator from right hand side.
Example #4
Code:
select substring_index('Tutorial class','a',-1);
Output:
Example #5
Code:
select substring_index('Tutorial class','a',-2);
Output:
In the above example, the source string is “Tutorial class”, 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 right hand side since the number is a negative number and stop the scanning where the function will encounter its second ‘a’ and outputs the extracted string as substring as result on the output console.
Example #6
Code:
select substring_index('Tutorial class','s',-2);
Output:
Example #7
Code:
select substring_index('www.google.com','.',-2);
Output:
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:
In the above example, since I have passed 3 as a parameter for 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 number parameter as an argument, nothing will be extracted from the given or the source string.
Below example will explain properly the above case:
Example #9
Code:
select substring_index('www.google.com','.',0);
Output:
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:
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 left hand side since the number is a positive number and stop the scanning where the function will encounter its first ‘oo’ and outputs the extracted string as substring as result on the output console.
Versions of MySQL that has substring_index function
Below mentioned mysql versions has 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
In this article, we have learned about mysql substring_index() function. We have learned about how the function works and returns a substring or a part of string either full string or a definite part of the string. In this article, we have also learned about its parameters like number (N).
Here, we have also learned about the negative and positive number and its 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
This is a guide to MySQL SUBSTRING_INDEX(). Here we also discuss the definition and syntax of mysql substring_index() along with different examples and its code implementation. you may also have a look at the following articles to learn more –
12 Online Courses | 10 Hands-on Projects | 92+ Hours | Verifiable Certificate of Completion
4.5
View Course
Related Courses