Función Charindex de SQL Server

Función Charindex de SQL Server
Las cadenas son bloques de construcción fundamentales en el mundo del desarrollo. Incluso en bases de datos, nos encontramos con instancias en las que necesitamos realizar operaciones de cadenas.

Una función útil de SQL Server es la función Charindex (). Esta función devuelve la posición de índice de una subcadena.

Esta guía analizará cómo usar la función Charindex para buscar una subcadena específica.

Uso básico

Utilizamos principalmente la función Charindex para localizar/buscar una subcadena desde una posición específica. La función devuelve la posición de la subcadena si se encuentra y un entero 0 si no se encuentra.

La sintaxis de la función es como:

Charindex (subcadena, main_string [, start_location]);

Argumentos de función y valor de retorno

La función Charindex acepta 3 argumentos:

  1. subcadena: se refiere a la subcadena que la función buscará.
  2. Main_string: se refiere a la cadena literal, expresión o columna desde la cual buscar la subcadena especificada.
  3. start_location: esto especifica la ubicación donde buscar la subcadena especificada. La ubicación de inicio es un entero, entero grande o expresión que da como resultado un entero o tipo entero grande.

El parámetro start_location es opcional. Si no se especifica el valor del start_position, la búsqueda comenzará al comienzo de la cadena.

El charindex devuelve un int por defecto. Sin embargo, si la subcadena es de tipo nvchar (max), varbinary (max) o varchar (max), la función devuelve un tipo de bigint.

Ejemplos de Charindex () SQL Server ()

Veamos algunos ejemplos de uso de la función Charindex () en SQL Server.

Ejemplo 1:

El ejemplo a continuación busca una subcadena simple.

Seleccione CharIndex ('SQL', 'Base de datos: SQL Server') como index_position;

La consulta anterior debe devolver la posición inicial de la subcadena coincidente.

Una salida de ejemplo es como se muestra:

index_position
--------------
11

NOTA: La posición inicial devuelta es de índice basado en 1 y no 0 basado en 0.

Ejemplo 2

El ejemplo a continuación muestra que la posición inicial está basada en 1.

Seleccione CharIdex ('Linux', 'LinuxHint') como index_position;

La ubicación resultante es 1, como se muestra a continuación:

index_position
--------------
1

Ejemplo 3:

La función Charindex es insensible en el caso. Esto significa que coincidirá con una subcadena incluso si no comparten una carcasa similar.

Seleccione CharIdex ('Linux', 'LinuxHint') como index_position;

La consulta aún devuelve la primera posición coincidente de la subcadena buscada.

index_position
--------------
1

Ejemplo 4:

Supongamos que desea realizar una búsqueda sensible a la caja utilizando la función Charindex? Para hacer esto, puede usar la recopilación para especificar su recopilación de destino.

Un ejemplo es como se muestra:

Seleccione Charindex ('Linux', 'Linuxhint' Collate LATIN1_GENERAL_CS_AS_KS_WS) como index_position;

La consulta anterior devolverá un entero 0 ya que no hay una subcadena coincidente.

index_position
--------------
0

Ejemplo 5:

Como mencionamos anteriormente, puede especificar el valor de Start_position para establecer el comienzo de la posición de búsqueda.

Por ejemplo, la consulta a continuación establece la posición de inicio como 10.

Seleccione Charindex ('Charindex', 'SQL Server Charindex Tutorial', 10) como index_position;

En nuestro ejemplo, la primera coincidencia de la subcadena se encuentra en la posición 12.

index_position
--------------
12

Si establecemos la posición de inicio después de la primera coincidencia de la subcadena, la función devolverá 0 ya que no hay otros casos coincidentes.

Seleccione Charindex ('Charindex', 'Tutorial de Charindex SQL Server', 13) como index_position;

El valor de retorno es como:

index_position
--------------
0

Conclusión

En este artículo, entendió cómo usar la función Charindex () en SQL Server. Esta función le permite buscar una subcadena y devolver la posición del primer caso coincidente.

Gracias por leer!