STRPOS 函数
返回子字符串在指定字符串中的位置。
有关类似的函数,请参阅CHARINDEX 函数和POSITION 函数。
语法
STRPOS(string, substring )
参数
- string
-
第一个输入参数是要在其中进行搜索的
CHAR
或VARCHAR
字符串。 - substring
-
第二个参数是要在 string 中搜索的子字符串。
返回类型
- INTEGER
-
STRPOS 函数返回与 substring 的位置对应的
INTEGER
(从 1 开始,而不是从 0 开始)。此位置基于字符数而不是字节数,这是为了将多字节字符作为单字符计数。
使用说明
如果在 string 中未找到 substring,STRPOS 将返回 0
。
SELECT STRPOS('dogfish', 'fist');
+--------+ | strpos | +--------+ | 0 | +--------+
示例
要显示 fish
在 dogfish
内的位置,请使用以下示例。
SELECT STRPOS('dogfish', 'fish');
+--------+ | strpos | +--------+ | 4 | +--------+
以下示例使用 TICKIT 示例数据库的 SALES 表中的数据。有关更多信息,请参阅 示例数据库。
要返回 SALES 表中 COMMISSION 超过 999.00 的销售交易的数量,请使用以下示例。
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 | +--------+-------+