Returns the position of a substring within a specified string.
See CHARINDEX function and POSITION function for similar functions.
Syntax
STRPOS(string, substring )
Arguments
- string
-
The first input parameter is the
CHAR
orVARCHAR
string to be searched. - substring
-
The second parameter is the substring to search for within the string.
Return type
- INTEGER
-
The STRPOS function returns an
INTEGER
corresponding to the position of the substring (one-based, not zero-based). The position is based on the number of characters, not bytes, so that multi-byte characters are counted as single characters.
Usage notes
STRPOS returns 0
if the substring is not found within the
string.
SELECT STRPOS('dogfish', 'fist');
+--------+
| strpos |
+--------+
| 0 |
+--------+
Examples
To show the position of fish
within dogfish
, use the following example.
SELECT STRPOS('dogfish', 'fish');
+--------+
| strpos |
+--------+
| 4 |
+--------+
The following example uses data from the SALES table in the TICKIT sample database. For more information, see Sample database.
To return the number of sales transactions with a COMMISSION over 999.00 from the SALES table, use the following example.
SELECT DISTINCT STRPOS(commission, '.'),
COUNT (STRPOS(commission, '.'))
FROM sales
WHERE STRPOS(commission, '.') > 4
GROUP BY STRPOS(commission, '.')
ORDER BY 1, 2;
+--------+-------+
| strpos | count |
+--------+-------+
| 5 | 629 |
+--------+-------+