La coincidencia de patrones SQL le permite buscar patrones en los datos si no sabe la palabra o frase exacta que está buscando. Este tipo de consulta SQL utiliza caracteres comodín para hacer coincidir un patrón, en lugar de especificarlo exactamente. Por ejemplo, puede utilizar el comodín «C%» para que coincida con cualquier cadena que comience con una C mayúscula.
Índice de contenidos
Uso del operador LIKE
Para utilizar una expresión comodín en una consulta SQL, utilice el operador LIKE en una cláusula WHERE y encierre el patrón entre comillas simples.
Uso del comodín % para realizar una búsqueda simple
Para buscar cualquier empleado en su base de datos con un apellido que comience con la letra C, utilice la siguiente declaración Transact-SQL:
SELECCIONE *
de los empleados
DÓNDE_apellido LIKE 'C%' `DÓNDE_apellido `C%'?Omitir patrones usando la palabra clave NOT
Utilice la palabra clave NOT para seleccionar registros que no coincidan con el patrón. Por ejemplo, esta consulta devuelve todos los registros cuyo último nombre es no comenzar con C:
SELECCIONE *
de los empleados
DONDE_apellido NO LE GUSTA 'C%''.Emparejar un patrón en cualquier lugar usando el % Wildcard Twice
Utilice dos instancias del comodín % para que coincida con un patrón particular en cualquier lugar. Este ejemplo devuelve todos los registros que contienen una C en cualquier lugar del apellido:
SELECCIONE *
de los empleados
DÓNDE_apellido LIKE '%C%''.Cómo encontrar una coincidencia de patrón en una posición específica
Utilice el comodín _ para devolver los datos en una ubicación específica. Este ejemplo sólo coincide si C ocurre en la tercera posición de la columna de apellido:
SELECCIONE *
de los empleados
DÓNDE_apellido LIKE '_ _C%''.Expresiones Wildcard soportadas en Transact SQL
Hay varias expresiones comodín soportadas por Transact SQL:
- El comodín % coincide con cero o más caracteres de cualquier tipo y se puede utilizar para definir comodines antes y después del patrón. Si está familiarizado con la concordancia de patrones de DOS, es el equivalente del comodín * en esa sintaxis.
- El _ comodín coincide exactamente con un carácter de cualquier tipo. Es el equivalente de la ? comodín en coincidencia de patrones DOS.
- Especifique una lista de caracteres incluyéndolos entre corchetes. Por ejemplo, el comodín [aeiou] coincide con cualquier vocal.
- Especifique un rango de caracteres encerrando el rango entre corchetes. Por ejemplo, el comodín [a-m] coincide con cualquier letra de la primera mitad del alfabeto.
- Negar un rango de caracteres incluyendo el carácter de quilates inmediatamente dentro del corchete de apertura. Por ejemplo, [^aeiou] corresponde a cualquier carácter no vocal mientras que [^a-m] corresponde a cualquier carácter que no esté en la primera mitad del alfabeto.
Combinación de comodines para patrones complejos
Combine estos comodines en patrones complejos para realizar consultas más avanzadas. Por ejemplo, supongamos que necesita construir una lista de todos sus empleados que tienen nombres que comienzan con una letra de la primera mitad del alfabeto pero que no no terminan con una vocal. Puede utilizar la siguiente consulta:
SELECCIONE *
de los empleados
DONDE_apellido GUSTO '[a-m]%[^aeiou]''.Del mismo modo, puede construir una lista de todos los empleados con apellidos que consten exactamente de cuatro caracteres utilizando cuatro instancias del patrón _ :
SELECCIONE *
de los empleados
DÓNDE_apellido LIKE '____'Como puede ver, el uso de las capacidades de comparación de patrones SQL ofrece a los usuarios de la base de datos la posibilidad de ir más allá de las simples consultas de texto y realizar operaciones de búsqueda avanzada.