La función CHARINDEX() de SQL Server devuelve un número entero, que devuelve la posicion inicial de la subcadena o expresión. Si no se encuentra la subcadena, el resultado de la función es 0. Si lo que deseas es obtener una subcadena de una cadena se utiliza la función SUBSTRING()
A continuacion se muestra la sintaxis
CHARINDEX(substring, string [, start_location])
- substring es la subcadena a buscar. Su longitud está limitada a 8,000 caracteres.
- string puede ser una cadena literal, expresión o columna. Es una cadena para buscar.
- start_location es la ubicación en la que comienza la búsqueda. Start_location es un entero o una expresión que se evalúa como un valor de esos tipos de datos.
El parámetro start_location es opcional. Si se omite, se establece cero o valor negativo, la búsqueda comienza al inicio de la cadena.
Ejemplo 1: Uso de la funcion CHARINDEX(), sin especificar la posicion inicial de la búsqueda.
Como se observa en el ejemplo 3, la posicion inicial es cero cual es el motivo, muy facil. la palabra FUNCION si se encuentra en la cadena pero la posicion inicial (35) supera la posicion (30) donde se encuentra la palabra por lo tanto, no encontro la palabra especificada. En el caso, que la palabra a buscar no se encuentra dentro de la cadena retornara 0.
Tenga en cuenta que la función CHARINDEX() puede realizar búsquedas sensibles a mayúsculas y minúsculas en función de la clasificación especificada. Como podemos observa en el ejemplo 2, la palabra FUNCION esta en mayuscula mientras que en la cadena esta en minuscula, como hacer una busqueda sensible facil, veamos el siguiente ejemplo.
Ejemplo 4: Uso de la funcion CHARINDEX(), busqueda sensible
Para realizar una busqueda sensible solo es de agregar COLLATE Latin1_General_CS_AS a la par de la cadena, en este ejemplo no se encontro la posicion inicial por que la palabra a buscar esta en mayuscula mientras que la cadena posee esa palabra en minuscula por lo tanto son 2 palabras muy diferentes.
Esto es todo por el dia de hoy
Espero les haya gustado (n_n)/
Comentarios
Publicar un comentario