PATINDEX en SQL

PATINDEX() busca un patrón con comodines % y _.

La función PATINDEX forma parte del vocabulario SQL para cálculos y transformaciones. No modifica los datos guardados: calcula un valor nuevo en cada fila del resultado.

En analítica y reporting suele usarse dentro de un SELECT junto con alias (AS) para que la columna resultante sea legible.

En SQL Server (T-SQL) estas funciones son muy usadas en informes y ETL: recortar códigos postales, extraer prefijos de SKU o limpiar espacios antes de comparar cadenas.

En el editor practicamos con SQLite, que implementa muchas de ellas con la misma sintaxis. Si migras a otro motor, comprueba si el nombre o el orden de argumentos cambia.

PATINDEX en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.

Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.


Sintaxis de PATINDEX

La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.

Plantilla

PATINDEX('%patron%', texto)

Apellidos en ez

Apellidos en ez

SELECT Nombre_Cliente, PATINDEX('%ez%', Nombre_Cliente) AS Posicion FROM Clientes WHERE ID_Cliente <= 4 ORDER BY Nombre_Cliente;
Abrir en editor

Resultado:

Nombre_ClientePosicion
Luis Pérez5
Ana García0

Productos con Café

Productos con Café

SELECT Nombre_Producto, PATINDEX('%Caf%', Nombre_Producto) AS Posicion FROM Productos WHERE ID_Producto <= 3 ORDER BY ID_Producto;
Abrir en editor

Resultado:

Nombre_ProductoPosicion
Café expreso1
Té verde0

Base de datos de demostración: Clientes

Estas filas son las mismas en la mayoría de ejemplos del tutorial. Referencia esta tabla cuando adaptes las consultas a tus propios datos.

ID_Cliente Nombre_Cliente Ciudad Pais N_Ventas
1Ana GarcíaMadridEspaña120
2Luis PérezBarcelonaEspaña85
3María LópezValenciaEspaña200
4Carlos RuizMadridEspaña45
5Elena TorresSevillaEspaña67
6John SmithLondonUK150
7Marie DuboisParisFrancia92
8Hans MüllerBerlinAlemania78
9Luca RossiRomaItalia110
10Sofia AndersStockholmSuecia55
Tabla Clientes en el editor SQL (10 filas). La usamos en la mayoría de ejemplos de esta fase.

Resumen de PATINDEX

  • PATINDEX() busca un patrón con comodines % y _.
  • En el editor escribes sintaxis SQL Server; el traductor la adapta a SQLite.
  • Usa un alias con AS para nombrar el resultado.

Cómo practicar en el editor

1. Pulsa Pruébalo tú mismo en un ejemplo.
2. Cambia un filtro, columna o literal.
3. Ejecuta y compara el resultado con la tabla de ejemplo.