LIKE

 

El SQL Like es un tipo de operador lógico que se usa para poder determinar si una cadena de caracteres específica coincide con un patrón específico. Se utiliza normalmente en una sentencia Where para buscar un patrón específico de una columna.

Este operador puede ser de utilidad en los casos donde necesitamos realizar un apareamiento de patrones en vez de iguales o no iguales. El SQL Like se utiliza cuando se desea devolver la fila, si una cadena de caracteres específica coincide con un patrón específico. El patrón puede ser una combinación de caracteres regulares al igual que caracteres de comodín (*,%, ¿, etc.).

Para poder devolver una fila, los caracteres normales se deben hacer coincidir exactamente con los caracteres especificados en la cadena de caracteres. Los caracteres comodín pueden combinarse con partes arbitrarias de la cadena de caracteres.

SELECT p.FirstName, p.LastName, ph.PhoneNumber  

FROM Person.PersonPhone AS ph  

INNER JOIN Person.Person AS p  

ON ph.BusinessEntityID = p.BusinessEntityID  

WHERE ph.PhoneNumber LIKE '415%'  

ORDER by p.LastName;  

GO

Nótese que el símbolo “415%” se especifica en la cláusula “Where”. Esto significa que SQL Server buscará el número 415 seguido de cualquier cadena de cero o más caracteres. Aquí está el conjunto de resultados:


El operador no lógico invierte el valor de cualquier expresión booleana. Por lo tanto, si simplemente especificamos No como con el carácter comodín “%” en la sentencia SQL Like, agrega una condición adicional y colóquela en la misma declaración anterior, de tal forma que deberíamos obtener una consulta como esta:

1

2

3

4

5

6

7

SELECT p.FirstName, p.LastName, ph.PhoneNumber  

FROM Person.PersonPhone AS ph  

INNER JOIN Person.Person AS p  

ON ph.BusinessEntityID = p.BusinessEntityID  

WHERE ph.PhoneNumber NOT LIKE '415%' AND p.FirstName = 'Gail'  

ORDER BY p.LastName;  

GO

En esta ocasión, la consulta devolvió todos los registros de la tabla “PersonPhone” que tienen códigos de área distintos de 415:


Comentarios