Función CHARINDEX - Amazon Redshift

Función CHARINDEX

Devuelve la ubicación de la subcadena especificada dentro de una cadena.

Consulte Función POSITION y Función STRPOS para ver funciones similares.

Sintaxis

CHARINDEX( substring, string )

Argumentos

subcadena

Subcadena que se va a buscar dentro de la cadena.

string

La cadena o columna que se buscará.

Tipo de retorno

INTEGER

La función CHARINDEX devuelve un valor INTEGER correspondiente a la posición de la subcadena (basado en uno, no basado en cero). La posición se basa en la cantidad de caracteres, no bytes, por lo que los caracteres multibyte se cuentan como caracteres simples. CHARINDEX devuelve 0 si no se encuentra una subcadena dentro de la cadena.

Ejemplos

Para devolver la posición de la cadena fish dentro de la palabra dog, use el siguiente ejemplo.

SELECT CHARINDEX('fish', 'dog'); +-----------+ | charindex | +-----------+ | 0 | +-----------+

Para devolver la posición de la cadena fish dentro de la palabra dogfish, use el siguiente ejemplo.

SELECT CHARINDEX('fish', 'dogfish'); +-----------+ | charindex | +-----------+ | 4 | +-----------+

En el siguiente ejemplo, se utiliza la tabla SALES de la base de datos de ejemplo TICKIT. Para obtener más información, consulte Base de datos de muestra.

Para devolver la cantidad de transacciones de venta distintas con un parámetro de comisión que supere los 999 de la tabla SALES, use el siguiente ejemplo. Este comando cuenta las comisiones superiores a 999 comprobando si el decimal está a más de 4 lugares del principio del valor de la comisión.

SELECT DISTINCT CHARINDEX('.', commission), COUNT (CHARINDEX('.', commission)) FROM sales WHERE CHARINDEX('.', commission) > 4 GROUP BY CHARINDEX('.', commission) ORDER BY 1,2; +-----------+-------+ | charindex | count | +-----------+-------+ | 5 | 629 | +-----------+-------+