Ir al contenido principal

Función CHARINDEX() en SQL Server

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.

Ejemplo 2: Uso de la funcion CHARINDEX(), especificando la posicion inicial de la búsqueda.

Ejemplo 3: Uso de la funcion CHARINDEX(), Sin resultado de busqueda

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

Post Populares

Solucionar HybridStudioShell Cannot find one or more components. Please reinstall the application.

Hace un par de semanas instalé Magic XPA 4.8 en mi computadora y al momento de iniciar la aplicacion me muestra un mensaje de error que dice:  HybridStudioShell Cannot find one or more components. Please reinstall the application. Soluccionar este problema es muy sencillo, solo sigue estos pasos: Primero se debe desintalar Magic XPA 4.8 Después, desinstalar los siguientes programas y componentes de la computadora si es que estan instalados. Realmente, solo se debe desinstalar Microsoft Visual Studio 2015 shell (Isolated) para poder utilizar Magic XPA 4.8 pero en mi caso tenia problema con los Redistributable asi que aproveche  a instalarlo desde el instalador de Magic :3  Después instale Magic XPA 4.8 nuevamente, y con ello se reinstalara los componentes desinstalados en el paso anterior ya que Magic trae el instalador de estos componentes por si no se encuentra instalado en la PC. Al finalizar, la instalación ya podrá ingresar a Magic XPA 4.8 sin problemas. Muy Import...

Concatenar varios registros de una columna en una sola cadena SQL

 En muchas ocasiones en el trabajo me han presentado la situación de concatenar una columna o campos en una sola cadena. Es decir, como si tuviéramos que transponer la columna, pero sin complicarnos. Ejemplo: Tenemos una tabla con los nombre de los vendedores pero necesitamos que esto aparezca en una sola cadena concatenada por "punto y coma" o un delimitador especifico. El Resultado debe ser Como podemos obtener este Resultado , utilizando el siguiente Script. El script original  es el siguiente: Explicacion: @valores: Variable que guarda el nombre de los vendedores concatenados. @delimitador:  Delimitador a usar, puede ser coma o punto y coma, etc. Tabla: Tabla donde se encuentra el dato que deseamos obtener. Campo: Columna donde se encuentra la información especifica a concatenar. Bueno, esto seria todo por hoy Espero les haya gustado (n_n)/ Si desean ayudarme, puedan realizar una pequeña donación: 

Función SUBSTRING() en SQL Server

La función SUBSTRING() extrae una subcadena con una longitud especificada a partir de una ubicación en una cadena de entrada. A continuación, se muestra la sintaxis de la función SUBSTRING() : SUBSTRING(input_string, start, length); input_string puede ser un varchar, binario, texto, ntext o imagen. start es un número entero que especifica la ubicación donde comienza la subcadena que se regresara. Tenga en cuenta que el primer carácter en input_string es 1, no cero. length es un entero positivo que especifica el número de caracteres de la subcadena que se devolverá.  La función SUBSTRING() genera un error si la longitud es negativa. Si start + length > que el total del largo de input_string , la subcadena comenzará al inicio e incluirá los caracteres restantes de input_string . Ejemplo 1: Uso de la funcion SUBSTRING() , Obtener información específica Ejemplo 2: Uso de la función SUBSTRING() , Obtener información dinámica  Cómo funciona Primero, utilizamos la función C...