Ir al contenido principal

Función PATINDEX() en SQL Server

La función PATINDEX() devuelve la posición inicial de un patrón dentro de una cadena de entrada en una expresión especifica, o cero si no se encuentra el patrón, en todos los tipos de datos de caracteres y texto válidos. 

A continuación, se muestra la sintaxis de la función PATINDEX():

PATINDEX ('%StringPattern%', input_string)

  • String_Pattern define la expresión de carácter que desea encontrar en la cadena de entrada. En el patrón, contiene los caracteres comodín como% y '_'. Los caracteres comodín son los mismos que se utilizan en los operadores LIKE.
  • input_string define una cadena de entrada en la que desea buscar el patrón.
Les mostraré como buscar la posición inicial, ya sea por palabra literal o patrón.

Ejemplo 1: Buscar palabra literal

Ejemplo 2: Buscar coincidencias con el patrón

Como funciona el Ejemplo 2, para ello explicare cada patrón utilizado
  • %BC%: No importa donde se encuentre BC ubicado, siempre y cuando esten juntas
  • AB%: La cadena de texto debe empezar con AB sin importa que siga despues de B
  • %[A,Z,0-9]%[A,Z,0-9]%[A,Z,0-9]%: Este patrón es algo complejo, pero aplica ya que la longitud es mayor a 3 y cumple con las condiciones alfanuméricas
  • %ld__y%: La cadena debe contener ld en cualquier  parte del texto, despues 2 caracteres sin importar cuales sean seguido de y
  • %[0-9]%: La cadena debe poseer caracteres numéricos
  • %[^0-9]%: La cadena no debe poseer caracteres numéricos
Ya explicado cada patrón, podemos asegurar porque se retorno la posición inicial en cada una de ellas y no otro valor.

Nota:
Para este ejemplo se utilizo Wildcard, para devolver la posición inicial de los textos coincidientes. Para ello les adjunto una tabla con los wildcard o comodines que utiliza SQL Server. De estos, se puede crear N cantidad de combinaciones, solo deja que tu mente vuele y veras lo genial que es usar comodines, en cadenas de texto.

Bueno amigos, esto es todo
Espero les haya gustado (n_n)/

Comentarios

Post Populares

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 CHARIN...

SQL Server Configuration Manager no aparece en Windows 10

 El SQL Server configuration manager, generalmente es accesible como complemento de la consola de administración (microsoft management console: mmc.exe). Puedes ejecutarlo directamente desde el cuadro de diálogo ejecutar (que a su vez puedes invocar con la combinación de teclas Windows + R ) En dicho diálogo, en el edit Abrir escribe SQLServerManager15.msc para SQL Server 2019 SQLServerManager14.msc para SQL Server 2017 SQLServerManager13.msc para SQL Server 2016 SQLServerManager12.msc para SQL Server 2014 SQLServerManager11.msc para SQL Server 2012 SQLServerManager10.msc para SQL Server 2008 svrnetcn.exe para SQL Server 2000 Luego presionar Enter . Y listo, esto seria todo por hoy Espero les haya gustado (n_n)/ Si desean ayudarme, puedan realizar una pequeña donación: 

Agregar N cantidad de ceros antes de un número en SQL

En muchas ocasiones en el día a día, nos  hemos encontrado con la situación de agregar N cantidad de ceros antes de un número esto debido a una mascara o formato especifico que necesitamos aplicar para un proceso o tarea especifica.  Asi mismo, he visto que hay muchas formas de solucionar esta problematica. Y les mostrare todas las formas posibles para solventar dicho caso. Ejemplo: Necesitamos crear una mascara rellena de ceros con una longitud de 5 caracteres. Me refiero a      que si digitamos el número 15 este me devuelva 00015 como resultado. Porque, por que la condicion es tener 5 caracteres en la cadena y como  el número 15 posee 2 caracteres se debe rellenar la parte izquierda con 3 ceros mas para cumplir esta condicion. Forma 1: Usando REPLACE() y STR() Forma 2: Usando CONCAT() y   REPLICATE() Forma 3: Usando el abreviado CONCAT() y  REPLICATE() Forma 4: Usando RIGHT() y  REPLICATE() Forma 5: Usando RIGHT() Forma 6: Usando F...