Función POSITION - Amazon Redshift

Función POSITION

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

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

Sintaxis

POSITION(substring IN string )

Argumentos

subcadena

Subcadena que se va a buscar dentro de la cadena.

string

La cadena o columna que se buscará.

Tipo de retorno

La función POSITION 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. POSITION devuelve 0 si no se encuentra 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 POSITION('fish' IN 'dog'); +-----------+ | position | +-----------+ | 0 | +-----------+

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

SELECT POSITION('fish' IN 'dogfish'); +-----------+ | position | +-----------+ | 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 POSITION('.' IN commission), COUNT (POSITION('.' IN commission)) FROM sales WHERE POSITION('.' IN commission) > 4 GROUP BY POSITION('.' IN commission) ORDER BY 1,2; +-----------+-------+ | position | count | +-----------+-------+ | 5 | 629 | +-----------+-------+