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;
Resultado:
| Nombre_Cliente | Posicion |
|---|---|
| Luis Pérez | 5 |
| Ana García | 0 |
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;
Resultado:
| Nombre_Producto | Posicion |
|---|---|
| Café expreso | 1 |
| Té verde | 0 |
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 |
|---|---|---|---|---|
| 1 | Ana García | Madrid | España | 120 |
| 2 | Luis Pérez | Barcelona | España | 85 |
| 3 | María López | Valencia | España | 200 |
| 4 | Carlos Ruiz | Madrid | España | 45 |
| 5 | Elena Torres | Sevilla | España | 67 |
| 6 | John Smith | London | UK | 150 |
| 7 | Marie Dubois | Paris | Francia | 92 |
| 8 | Hans Müller | Berlin | Alemania | 78 |
| 9 | Luca Rossi | Roma | Italia | 110 |
| 10 | Sofia Anders | Stockholm | Suecia | 55 |
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
ASpara 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.