Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Che cos'è l'operatore logico in SQL Server - Tutorial SQL Server / TSQL Parte 123

Com'è l'operatore logico:

L'operatore logico LIKE viene utilizzato quando si desidera restituire la riga se l'operando corrisponde a un modello. L'operatore Like restituisce TRUE se l'operando corrisponde a un modello.


A volte è necessario eseguire la corrispondenza del modello anziché uguale o diverso. Like viene utilizzato quando si desidera restituire la riga se una stringa di caratteri specifica corrisponde a un modello specificato. Il modello può essere una combinazione di caratteri normali e caratteri jolly.
Per restituire la riga indietro, i caratteri normali devono corrispondere esattamente ai caratteri specificati nella stringa di caratteri. I caratteri jolly possono essere abbinati a parti arbitrarie della stringa di caratteri.

Creiamo la tabella dbo.Customer e quindi creiamo alcuni esempi in tempo reale

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) Utilizzo di %
Diciamo se vogliamo trovare tutte le righe in cui FName contiene la "i". Possiamo utilizzare la query seguente

Select * From dbo.Customer
where FName like '%i%'
 
Come utilizzare % con l'operatore Like in SQL Server - Tutorial SQL Server/TSQL
 












Ho notato che usando % prima e dopo "i", stiamo dicendo alla query di trovare tutte le righe in cui FName ha il carattere "i" e non importa quali altri caratteri siano prima e dopo "i".


2) Usando _ (sottolineatura)
Il carattere di sottolineatura può essere utilizzato quando vogliamo controllare un singolo carattere che può essere qualsiasi cosa e fornire il resto dei caratteri per la nostra corrispondenza. Diciamo che se voglio trovare tutte le righe in cui il primo carattere di FName può essere qualsiasi cosa, ma il resto dovrebbe essere "ita". Posso usare la query di seguito.

Select * From dbo.Customer
where FName like '_ita'
Come utilizzare underscore( _ ) con l'operatore Like in SQL Server - Tutorial SQL Server/TSQL
 3) Utilizzo di [ ] - Qualsiasi singolo carattere all'interno dell'intervallo specificato ha squillato [a-t] o impostato [abc] 
L'operatore Like con [ ] può essere utilizzato quando vogliamo avere un intervallo. Diciamo se voglio trovare tutte le righe in cui il primo carattere di FName inizia con [a-f]. Possiamo usare la query di seguito.

Select * From dbo.Customer
where FName like '[a-f]%'
 
Come utilizzare l'operatore Rang con Like in SQL Server per la ricerca - Tutorial SQL Server/TSQL
 Come puoi vedere, ho usato [a-f]%. Ciò significa che voglio il primo carattere da a a fe dopo che tutti i caratteri vanno bene come ho usato %.

4) [^] Qualsiasi singolo carattere NON all'interno dell'intervallo specificato [a-t] oppure imposta [abc]
Diciamo se voglio trovare tutte le righe in cui il primo carattere di FName NON inizia con [a to f]. Possiamo usare la query seguente.

Seleziona * Da dbo.Customer
where FName like '[^a-f]%'
 
Come utilizzare non nell'intervallo con l'operatore Like in SQL Server - Tutorial SQL Server/TSQL
 
Ho notato che ci ha restituito solo le righe che non iniziano con alcun carattere da a-f.


Diciamo che se vogliamo ottenere tutte le righe in cui FName non inizia con a,d,j. possiamo usare la query seguente.

Seleziona * Da dbo.Customer
where FName like '[^adj]%'
 

Demo video:come utilizzare Logical Like Operator in SQL Server