sql >> Databáze >  >> RDS >> Sqlserver

Co je jako logický operátor v SQL Server - SQL Server / TSQL výukový program, část 123

Co je LIKE logický operátor:

Logický operátor LIKE se používá, když chceme vrátit řádek, pokud operand odpovídá vzoru. Operátor Like vrátí TRUE, pokud se operand shoduje se vzorem.


Někdy potřebujeme provést porovnávání vzoru místo rovného nebo nerovného. Like se používá, když chceme vrátit řádek, pokud konkrétní řetězec znaků odpovídá zadanému vzoru. Vzor může být kombinací běžných znaků a zástupných znaků.
Chcete-li vrátit řádek zpět, běžné znaky se musí přesně shodovat se znaky zadanými ve znakovém řetězci. Zástupné znaky lze porovnat s libovolnými částmi znakového řetězce.

Vytvořme tabulku dbo.Customer a poté vytvořte několik příkladů v reálném čase

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) Pomocí %
Řekněme, že chceme najít všechny řádky, ve kterých FName obsahuje „i“. Můžeme použít níže uvedený dotaz

Select * From dbo.Customer
where FName like '%i%'
 
Jak používat % s podobným operátorem na serveru SQL – SQL Server / Výukový program TSQL
 












Všimli jsme si, že použitím % před a za "i" říkáme dotazu, aby našel všechny řádky, ve kterých má FName znak "i" a nezáleží na tom, jaké další znaky jsou před a za "i".


2) Pomocí _ (podtržítko)
Podtržítko lze použít, když chceme zkontrolovat jeden znak, který může být cokoli, a poskytnout zbytek znaků pro naši shodu. Řekněme, že pokud chci najít všechny řádky, kde první znak FName může být cokoliv, ale zbytek by měl být „ita“. Mohu použít níže uvedený dotaz.

Select * From dbo.Customer
where FName like '_ita'
Jak používat podtržítko ( _ ) s podobným operátorem na serveru SQL - SQL Server / Výukový program TSQL
 3) Použití [ ] – Libovolný jednotlivý znak v rámci zadaného zvonku [a-t] nebo sady [abc] 
Jako operátor s [ ] lze použít, když chceme mít rozsah. Řekněme, že chci najít všechny řádky, kde první znak FName začíná na [a-f]. Můžeme použít níže uvedený dotaz.

Select * From dbo.Customer
where FName like '[a-f]%'
 
Jak používat Rang s operátorem Like na serveru SQL pro vyhledávání – SQL Server / Výukový program TSQL
 Jak vidíte, použil jsem [a-f]%. To znamená, že chci první znak od a do f a poté jsou všechny znaky v pořádku, jak jsem použil %.

4) [^] Jakýkoli jednotlivý znak, který NENÍ v zadaném rozsahu [a-t] nebo nastavte [abc]
Řekněme, že pokud chci najít všechny řádky, kde FName první znak Dost NEZAČÍNÁ na [a až f]. Můžeme použít níže uvedený dotaz.

Vyberte * From dbo.Customer
where FName like '[^a-f]%'
 
Jak používat Not in Range s podobným operátorem na serveru SQL – SQL Server / Výukový program TSQL
 
Všimli jsme si, že nám vrátil pouze řádky, které nezačínají žádným znakem z a-f.


Řekněme, že pokud chceme získat všechny řádky, kde FName nezačíná začít písmeny a,d,j. můžeme použít níže uvedený dotaz.

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

Video ukázka:Jak používat Logical Like Operator v SQL Server
 

  1. Zkombinujte dvě tabulky do nové, takže vybrané řádky z druhé tabulky budou ignorovány

  2. Jak najít všechny závislosti tabulky na serveru SQL

  3. Proč nemohu vytvořit spouštěče na objektech vlastněných SYS?

  4. SQLiteException:tabulka již existuje