sql >> Databasteknik >  >> RDS >> Sqlserver

Vad är LIKE Logical Operator i SQL Server - SQL Server / TSQL Tutorial Del 123

Vad är LIKE Logical Operator :

LIKE logisk operator används när vi vill returnera raden om operand matchar ett mönster. Lika-operatorn returnerar TRUE om operanden matchar ett mönster.


Ibland måste vi utföra mönstermatchning istället för lika eller inte lika. Like används när vi vill returnera raden om en specifik teckensträng matchar ett specificerat mönster. Mönster kan vara en kombination av vanliga tecken och jokertecken.
För att gå tillbaka raden måste vanliga tecken exakt matcha tecknen som anges i teckensträngen. Jokertecken kan matchas med godtyckliga delar av teckensträngen.

Låt oss skapa dbo.Customer-tabell och sedan skapa några realtidsexempel

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) Använd %
Låt oss säga om vi vill hitta alla rader där FName innehåller "i" i dem. Vi kan använda nedanstående fråga

Select * From dbo.Customer
where FName like '%i%'
 
Hur man använder % med Like Operator i SQL Server - SQL Server / TSQL Tutorial
 












Lägg märke till att genom att använda % före och efter "i", säger vi till frågan att hitta alla rader där FName har "i"-tecken och spelar ingen roll vilka andra tecken som är före och efter "i".


2) Använda _ (understreck)
Understrecket kan användas när vi vill kontrollera enstaka tecken som kan vara vad som helst och tillhandahålla resten av tecknen för vår match. Låt oss säga att om jag vill hitta alla rader där FName första tecknet kan vara vad som helst, men resten av dem ska vara "ita". Jag kan använda nedanstående fråga.

Select * From dbo.Customer
where FName like '_ita'
Hur man använder understreck( _ ) med Like Operator i SQL Server - SQL Server / TSQL Tutorial
 3) Användning av [ ] – Vilket enstaka tecken som helst inom angivet ringvärde [a-t] eller set [abc] 
Like operator med [ ] kan användas när vi vill ha räckvidd. Låt oss säga om jag vill hitta alla rader där FName första tecknet börjar med [a-f]. Vi kan använda nedanstående fråga.

Select * From dbo.Customer
where FName like '[a-f]%'
 
Hur man använder Rang with Like-operatorn i SQL Server för sökning - SQL Server / TSQL Tutorial
 Som ni ser har jag använt [a-f]%. Det betyder att jag vill ha det första tecknet från a till f och efter det är alla tecken bra eftersom jag använde %.

4) [^] Vilket som helst tecken INTE inom det angivna intervallet [a-t] eller ställ in [abc]
Låt oss säga att om jag vill hitta alla rader där FName första tecknet INTE börjar med [a till f]. Vi kan använda nedanstående fråga.

Välj * Från dbo.Customer
where FName like '[^a-f]%'
 
Hur man använder Not in Range med Like Operator i SQL Server - SQL Server / TSQL Tutorial
 
Märde att det bara gav oss raderna som inte börjar med något tecken från a-f.


Låt oss säga att om vi vill få alla rader där FName inte gör det börja med a,d,j. vi kan använda nedanstående fråga.

Välj * Från dbo.Customer
where FName like '[^adj]%'
 

Videodemo :Hur man använder Logical Like Operator i SQL Server
 

  1. Hur man begränsar resultat i MySQL, PostgreSQL och SQLite

  2. Hur skriver man en skiftlägesokänslig fråga för både MySQL och Postgres?

  3. Varför datasäkerhetskopiering är viktigt för din organisation

  4. Migrerar alla till molnet?