SQL

¿Qué es SQL Like y para qué sirve?

Estrada Web Group
Administrador
¿Qué es SQL Like y para qué sirve?

En este tutorial, aprenderás a usar el operador LIKE de SQL Server para verificar si una cadena de caracteres coincide con un patrón especificado.

Descripción general del operador LIKE de SQL Server

LIKE es un operador lógico de SQL Server que determina si una cadena de caracteres coincide con un patrón especificado. Un patrón puede incluir caracteres regulares y caracteres comodín. El operador LIKE se usa en la cláusula WHERE de las instrucciones SELECT, UPDATE y DELETE para filtrar filas en función de la coincidencia de patrones.

A continuación, se ilustra la sintaxis del operador LIKE de SQL Server:

column | expression LIKE pattern [ESCAPE escape_character]

Patrón (pattern)

El patrón es una secuencia de caracteres para buscar en una columna o expresión. Puede incluir los siguientes caracteres comodín válidos:

  •      El comodín de porcentaje (%): cualquier cadena de cero o más caracteres.
  •      El comodín de subrayado (_): cualquier carácter individual.
  •      El comodín [lista de caracteres]: cualquier carácter individual dentro del conjunto especificado.
  •      El [carácter-carácter]: cualquier carácter individual dentro del rango especificado.
  •      El [^]: cualquier carácter individual que no se encuentre dentro de una lista o un rango.

Los caracteres comodines hacen que el operador LIKE sea más flexible que los operadores de comparación de cadenas igual (=) y diferente de (<>).

Temas que te ayudaran en SQL Server:

Carácter de escape

El carácter de escape indica al operador LIKE que trate los caracteres comodines como caracteres normales. El carácter de escape no tiene valor predeterminado y debe evaluarse a un solo carácter.

El operador LIKE devuelve TRUE si la columna o expresión coincide con el patrón especificado.

Para negar el resultado del operador LIKE, use el operador NOT de la siguiente manera:

column | expression NOT LIKE pattern [ESCAPE escape_character]

Ejemplos del operador LIKE de SQL Server

Voy a consultar la siguiente tabla de clientes de la base de datos de muestra:

like de sql server

Ejemplos con el comodín % (porcentaje)

El siguiente ejemplo encuentra los clientes cuyo apellido comienza con la letra z:

SELECT
    customer_id,    first_name,    last_name
FROM
    sales.customers
WHERE
    last_name LIKE 'z%'
ORDER BY
    first_name;

Resultado:

customer_id first_name  last_name
----------- ----------- -----------
1354        Alexandria  Zamora
304         Jayme       Zamora
110         Ollie       Zimmerman

(3 row(s) affected)

El siguiente ejemplo devuelve los clientes cuyo apellido termina con la cadena er:

SELECT
    customer_id,    first_name,    last_name
FROM
    sales.customers
WHERE
    last_name LIKE '%er'
ORDER BY
    first_name;

Resultado:

customer_id first_name  last_name
----------- ----------- -----------
1412        Adrien      Hunter
62          Alica       Hunter
619         Ana         Palmer
525         Andreas     Mayer
528         Angele      Schroeder
1345        Arie        Hunter
851         Arlena      Buckner
.
.
.

(142 row(s) affected)

La siguiente declaración recupera los clientes cuyo apellido comienza con la letra t y termina con la letra s:

SELECT
    customer_id,    first_name,    last_name
FROM
    sales.customers
WHERE
    last_name LIKE 't%s'
ORDER BY
    first_name;

Resultado:

customer_id first_name                                                                                                                                                                                                                                                      last_name
----------- ----------- -----------
682         Arnita      Thomas
904         Jana        Thomas
1360        Latashia    Travis
567         Sheila      Travis

(4 row(s) affected)

Ejemplos con el comodín _ (guion bajo)

El guion bajo representa un solo carácter. Por ejemplo, la siguiente declaración devuelve a los clientes donde el segundo carácter es la letra u:

SELECT
    customer_id,    first_name,   last_name
FROM
    sales.customers
WHERE
    last_name LIKE '_u%'
ORDER BY
    first_name;

Resultado:

customer_id first_name  last_name
----------- ----------- -----------
338         Abbey       Pugh
1412        Adrien      Hunter
527         Afton       Juarez
442         Alane       Munoz
62          Alica       Hunter
683         Amparo      Burks
1350        Annett      Rush
1345        Arie        Hunter
.
.
.

(109 row(s) affected)

El patrón _u%

  •      El primer carácter de subrayado (_) coincide con cualquier carácter individual.
  •      La segunda letra u coincide exactamente con la letra u
  •      El tercer carácter% coincide con cualquier secuencia de caracteres

Ejemplo con el comodín [lista de caracteres]

Los corchetes con una lista de caracteres, por ejemplo, [ABC] representa un solo carácter que debe ser uno de los caracteres especificados en la lista.

Por ejemplo, la siguiente consulta devuelve a los clientes donde el primer carácter del apellido es Y o Z:

SELECT
    customer_id,    first_name,    last_name
FROM
    sales.customers
WHERE
    last_name LIKE '[YZ]%'
ORDER BY
    last_name;

Resultado:

customer_id first_name  last_name
----------- ----------- -----------
54          Fran        Yang
250         Ivonne      Yang
768         Yvone       Yates
223         Scarlet     Yates
498         Edda        Young
543         Jasmin      Young
1354        Alexandria  Zamora
304         Jayme       Zamora
110         Ollie       Zimmerman

(9 row(s) affected)

Ejemplo con el comodín [carácter - carácter]

Los corchetes con un rango de caracteres, por ejemplo, [A-C] representan un solo carácter que debe estar dentro de un rango especificado.

Por ejemplo, la siguiente consulta busca a los clientes donde el primer carácter del apellido es la letra en el rango de A a la C:

SELECT
    customer_id,    first_name,    last_name
FROM
    sales.customers
WHERE
    last_name LIKE '[A-C]%'
ORDER BY
    first_name;

Resultado:

customer_id first_name  last_name
----------- ----------- -----------
1224        Abram       Copeland
1023        Adena       Blake
1061        Alanna      Barry
1219        Alden       Atkinson
1135        Alisia      Albert
.
.
.

(310 row(s) affected)

Ejemplo del comodín [^ Lista o rango de caracteres]

Los corchetes con un signo de intercalación (^) seguido de un rango, por ejemplo, [^ A-C] o una lista de caracteres, por ejemplo, [ABC] representan un solo carácter que no está en el rango o lista de caracteres especificados.

Por ejemplo, la siguiente consulta devuelve a los clientes donde el primer carácter del apellido no es la letra en el rango de A a la X:

SELECT
    customer_id,    first_name,    last_name
FROM
    sales.customers
WHERE
    last_name LIKE '[^A-X]%'
ORDER BY
    last_name;

Resultado:

customer_id first_name  last_name
----------- ----------- -----------
54          Fran        Yang
250         Ivonne      Yang
768         Yvone       Yates
223         Scarlet     Yates
498         Edda        Young
543         Jasmin      Young
1354        Alexandria  Zamora
304         Jayme       Zamora
110         Ollie       Zimmerman

(9 row(s) affected)

Ejemplo del operador NOT LIKE

El siguiente ejemplo usa el operador NOT LIKE para encontrar clientes donde el primer carácter del primer nombre no es la letra A:

SELECT
    customer_id,    first_name,    last_name
FROM
    sales.customers
WHERE
    first_name NOT LIKE 'A%'
ORDER BY
    first_name;

Resultado:

customer_id first_name  last_name
----------- ----------- -----------
174         Babara      Ochoa
1108        Bao         Wade
225         Barbera     Riggs
1249        Barbra      Dickerson
802         Barrett     Sanders
.
.
.

(1331 row(s) affected)

En este tutorial, has aprendido a usar el operador LIKE de SQL Server para verificar si una cadena de caracteres coincide con un patrón especificado.

Envíame tus comentarios y sugerencias en el apartado de aquí abajo y ayúdame compartiendo el articulo en tus redes sociales.

Compartir artículo:

Más artículos geniales

¿Cómo obtener la cantidad de registros en SQL Server con la función COUNT()?

¿Cómo obtener la cantidad de registros en SQL Server con la función COUNT()?

En este tutorial, aprenderás a usar la función COUNT() de SQL Server para obtener la cantidad de elementos en un conjunto.

Ver artículo completo
¿Cómo obtener el valor máximo en SQL Server con la función MAX()?

¿Cómo obtener el valor máximo en SQL Server con la función MAX()?

En este tutorial, aprenderás a usar la función MAX() de SQL Server para encontrar el valor máximo en un grupo de resultados.

Ver artículo completo
¿Qué es el tipo de dato varchar de SQL Server y cuando utilizarlo?

¿Qué es el tipo de dato varchar de SQL Server y cuando utilizarlo?

En este tutorial, aprenderá a usar el tipo de datos VARCHAR de SQL Server para almacenar datos de cadena de longitud variable y no Unicode.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;