In MySQL, the SUBSTRING()
function enables you to return a substring from a string. So you can use this function to grab a portion of text from a larger piece of text.
There are several different ways to use the SUBSTRING()
function, and this affects the syntax.
Example 1 – Basic Usage
The most basic usage goes like this:
SUBSTRING(str,pos)
In this case, str
is the string, and pos
is the position to start the substring from.
Here’s an example of this basic syntax:
SELECT SUBSTRING('Cats and dogs', 6);
Result:
and dogs
In this example, we take a substring from the string Cats and dogs
, starting at position 6.
Example 2 – Using the FROM Clause
Another way to do it:
SUBSTRING(str FROM pos)
In this case, FROM
is standard SQL. Note that this syntax doesn’t use commas.
Here’s the same example as the previous one, except here we’ve changed it to use the FROM
syntax:
SELECT SUBSTRING('Cats and dogs' FROM 6);
Result:
and dogs
So we get the same result.
Example 3 – Add a Length for the Substring
You can also add a length:
SUBSTRING(str,pos,len)
Here, len
is the length of the substring to return. This enables us to return a substring with a specified length.
Here’s an example of doing that:
SELECT SUBSTRING('Cats and dogs', 6, 3);
Result:
and
So in this case we choose to return only 3 characters from the starting position.
Example 4 – Using FOR
Finally, when using FROM
, you can also add the FOR
to provide the length.
SUBSTRING(str FROM pos FOR len)
And here’s the same example as previous, except here we use the FROM
clause as well as FOR
:
SELECT SUBSTRING('Cats and dogs' FROM 6 FOR 3);
Result:
and
So as with the previous example, this selects 3 characters from the starting position.
Example 5 – Counting Backwards
You can also use a negative value for the starting position. In this case, the position is taken counting backwards from the end of the string:
SELECT SUBSTRING('Cats and dogs', -6);
Result:
d dogs
Example 6 – The SUBSTR() Function
You can also use SUBSTR()
which is a synonym for SUBSTRING()
. So any of the previous examples could be rewritten using SUBSTR()
instead.
Example:
SELECT SUBSTR('Cats and dogs', 6);
Result:
and dogs
Example 7 – The MID() Function
And there’s yet another synonym for SUBSTRING()
– the MID()
function. So any of the previous examples could be rewritten using MID()
instead.
Example:
SELECT MID('Cats and dogs', 6);
Result:
and dogs