sql >> Base de Datos >  >> RDS >> Sqlserver

¿Qué es LIKE Operador Lógico en SQL Server? SQL Server / Tutorial TSQL Parte 123

¿Qué es LIKE Operador Lógico:

El operador lógico LIKE se usa cuando queremos devolver la fila si el operando coincide con un patrón. El operador Like devuelve VERDADERO si el operando coincide con un patrón.


Algunas veces necesitamos realizar una coincidencia de patrones en lugar de igual o no igual. Me gusta se usa cuando queremos 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 y caracteres comodín.
Para devolver la fila, los caracteres regulares deben coincidir exactamente con los caracteres especificados en la cadena de caracteres. Los caracteres comodín pueden coincidir con partes arbitrarias de la cadena de caracteres.

Vamos a crear la tabla dbo.Customer y luego crear algunos ejemplos en tiempo real

Create table dbo.Customer
 (Id int,
  FName VARCHAR(50),
  LName VARCHAR(50),
  CountryShortName CHAR(2))
GO
insert into dbo.Customer
Values (
1,'Raza','M','PK'),
(2,'Rita','John','US'),
(3,'Sukhi','Singh',Null),
(4,'James','Smith','CA'),
(5,'Robert','Ladson','US'),
(6,'Alice','John','US'),
(7,'Raza','M','US'),
(8,'Dita','M','US'),
(9,'Adita','M','US')
 
1) Usando %
Digamos que queremos encontrar todas las filas donde FName contiene "i". Podemos usar la siguiente consulta

Select * From dbo.Customer
where FName like '%i%'
 
Cómo usar % con el operador Me gusta en SQL Server - Tutorial de SQL Server/TSQL
 












Noté que al usar % antes y después de "i", le estamos diciendo a la consulta que busque todas las filas en las que FName tiene el carácter "i" y no importa qué otros caracteres estén antes y después de "i".


2) Usando _ (guion bajo)
El guión bajo se puede usar cuando queremos verificar un solo carácter que puede ser cualquier cosa y proporcionar el resto de los caracteres para nuestra coincidencia. Digamos que si quiero encontrar todas las filas donde el primer carácter FName puede ser cualquier cosa, pero el resto debería ser "ita". Puedo usar la siguiente consulta.

Select * From dbo.Customer
where FName like '_ita'
Cómo utilizar el guión bajo( _ ) con el operador Me gusta en SQL Server - Tutorial de SQL Server/TSQL
 3) Usando [ ]:cualquier carácter único dentro del rango especificado [a-t] o conjunto [abc] 
El operador Like con [ ] se puede usar cuando queremos tener un rango. Digamos que quiero encontrar todas las filas donde el primer carácter FName comienza con [a-f]. Podemos usar la siguiente consulta.

Select * From dbo.Customer
where FName like '[a-f]%'
 
Cómo utilizar Rang con el operador Me gusta en SQL Server para búsquedas - Tutorial de SQL Server/TSQL
 Como puede ver, he usado [a-f]%. Eso significa que quiero el primer carácter de la a a la f y después de eso, cualquier carácter está bien ya que usé %.

4) [^] Cualquier carácter único que NO esté dentro del rango especificado [a-t] o establecer [abc]
Digamos que quiero encontrar todas las filas donde el primer carácter de FName NO comienza con [a a f]. Podemos usar la siguiente consulta.

Seleccione * De dbo.Customer
where FName like '[^a-f]%'
 
Cómo usar Fuera del rango con el operador Me gusta en SQL Server - Tutorial de SQL Server / TSQL
 
Observé que solo nos devolvía las filas que no comienzan con ningún carácter de a-f.


Digamos que si queremos obtener todas las filas donde FName no comienza con a, d, j. podemos usar la siguiente consulta.

Seleccione * From dbo.Customer
where FName like '[^adj]%'
 

Demostración en video:Cómo usar el operador lógico similar en SQL Server