Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

O que é o operador lógico LIKE no SQL Server - Tutorial SQL Server / TSQL Parte 123

O que é LIKE Operador lógico:

O operador lógico LIKE é usado quando queremos retornar a linha se o operando corresponder a um padrão. O operador like retorna TRUE se o operando corresponder a um padrão.


Algumas vezes precisamos realizar a correspondência de padrões em vez de igual ou diferente. Like é usado quando queremos retornar a linha se a string de caracteres específica corresponder a um padrão especificado. O padrão pode ser uma combinação de caracteres regulares e caracteres curinga.
Para retornar a linha, os caracteres regulares devem corresponder exatamente aos caracteres especificados na sequência de caracteres. Os caracteres curinga podem ser combinados com partes arbitrárias da sequência de caracteres.

Vamos criar a tabela dbo.Customer e depois criar alguns exemplos em tempo 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 as linhas onde FName contém "i" nelas. Podemos usar a consulta abaixo

Select * From dbo.Customer
where FName like '%i%'
 
Como usar % com o operador Like no SQL Server - Tutorial SQL Server / TSQL
 












Percebi que ao usar % antes e depois de "i", estamos dizendo à consulta para encontrar todas as linhas em que FName tem o caractere "i" e não importa quais outros caracteres estejam antes e depois de "i".


2) Usando _ (sublinhado)
O sublinhado pode ser usado quando queremos verificar um único caractere que pode ser qualquer coisa e fornecer o restante dos caracteres para nossa correspondência. Digamos que, se eu quiser encontrar todas as linhas em que o primeiro caractere FName pode ser qualquer coisa, mas o restante delas deve ser "ita". Posso usar a consulta abaixo.

Select * From dbo.Customer
where FName like '_ita'
Como usar sublinhado( _ ) com o operador Like no SQL Server - Tutorial SQL Server / TSQL
 3) Usando [ ] - Qualquer caractere único dentro do rang [a-t] especificado ou conjunto [abc] 
O operador like com [ ] pode ser usado quando queremos ter alcance. Digamos que eu queira encontrar todas as linhas em que o primeiro caractere FName comece com [a-f]. Podemos usar a consulta abaixo.

Select * From dbo.Customer
where FName like '[a-f]%'
 
Como usar o operador Rang with Like no SQL Server para pesquisa - Tutorial do SQL Server / TSQL
 Como você pode ver que eu usei [a-f]%. Isso significa que eu quero o primeiro caractere de a a f e depois disso todos os caracteres estão bem como eu usei %.

4) [^] Qualquer caractere único NÃO dentro do intervalo especificado [a-t] ou defina [abc]
Digamos que eu queira encontrar todas as linhas onde FName primeiro caractere NÃO começa com [a a f]. Podemos usar a consulta abaixo.

Selecione * From dbo.Customer
where FName like '[^a-f]%'
 
Como usar Not in Range com Like Operator no SQL Server - Tutorial SQL Server / TSQL
 
Percebi que ele apenas nos retornou as linhas que não começam com nenhum caractere de a-f.


Digamos que se queremos obter todas as linhas onde FName não comece com a,d,j. podemos usar a consulta abaixo.

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

Demonstração em vídeo:como usar o operador lógico semelhante no SQL Server