Coincidencia de patrones en consultas SQL con comodines

La coincidencia de patrones SQL le permite buscar patrones en los datos si no conoce la palabra o frase exacta que está buscando. Este tipo de SQL La consulta utiliza caracteres comodín para hacer coincidir un patrón, en lugar de especificarlo exactamente. Por ejemplo, puede utilizar el comodín "C%" para hacer coincidir cualquier cadena que comience con una C mayúscula.

Lupa
Kate Ter Haar / Flickr / CC por 2.0

Uso del operador LIKE

Para usar una expresión comodín en una consulta SQL, use 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, use la siguiente instrucción Transact-SQL:

SELECCIONE *
DE empleados
DONDE apellido LIKE 'C%'

Omitir patrones con 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 nombre es el último no empezar con C:

instagram viewer
SELECCIONE *
DE empleados
DONDE el apellido NO ES COMO 'C%'

Coincidencia de un patrón en cualquier lugar utilizando el% comodín dos veces

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 empleados
DONDE apellido LIKE '% C%'

Encontrar una coincidencia de patrón en una posición específica

Utilizar el _ comodín para devolver datos en una ubicación específica. Este ejemplo solo coincide si C aparece en la tercera posición de la columna de apellido:

SELECCIONE *
DE empleados
DONDE apellido LIKE '_ _C%'

Expresiones comodín admitidas en Transact SQL

Hay varias expresiones comodín compatibles con Transact SQL:

  • La % 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 coincidencia de patrones de DOS, es el equivalente al comodín * en esa sintaxis.
  • La _ comodín coincide exactamente con un carácter de cualquier tipo. Es el equivalente al ? comodín en la coincidencia de patrones de DOS.
  • Especifique una lista de caracteres encerrá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 [soy] coincide con cualquier letra de la primera mitad del alfabeto.
  • Niegue un rango de caracteres incluyendo el carácter de quilate inmediatamente dentro del corchete de apertura. Por ejemplo, [^ aeiou] coincide con cualquier carácter no vocal mientras [^ a-m] coincide con 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, suponga 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 terminar con una vocal. Puede utilizar la siguiente consulta:

SELECCIONE *
DE empleados
DONDE apellido LIKE '[a-m]% [^ aeiou]'

De manera similar, podría construir una lista de todos los empleados con apellidos que constan de exactamente cuatro caracteres utilizando cuatro instancias de la _ patrón:

SELECCIONE *
DE empleados
DONDE apellido LIKE '____'

Como puede ver, el uso de las capacidades de coincidencia de patrones SQL ofrece a los usuarios de bases de datos la capacidad de ir más allá de las consultas de texto simples y realizar operaciones de búsqueda avanzadas.