STRPOS 函数 - Amazon Redshift

STRPOS 函数

返回子字符串在指定字符串中的位置。

有关类似的函数,请参阅CHARINDEX 函数POSITION 函数

语法

STRPOS(string, substring )

参数

string

第一个输入参数是要在其中进行搜索的 CHARVARCHAR 字符串。

substring

第二个参数是要在 string 中搜索的子字符串。

返回类型

INTEGER

STRPOS 函数返回与 substring 的位置对应的 INTEGER(从 1 开始,而不是从 0 开始)。此位置基于字符数而不是字节数,这是为了将多字节字符作为单字符计数。

使用说明

如果在 string 中未找到 substring,STRPOS 将返回 0

SELECT STRPOS('dogfish', 'fist'); +--------+ | strpos | +--------+ | 0 | +--------+

示例

要显示 fishdogfish 内的位置,请使用以下示例。

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 | +--------+-------+