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