Co to jest operator logiczny:
Operator logiczny LIKE jest używany, gdy chcemy zwrócić wiersz, jeśli operand pasuje do wzorca. Operator Like zwraca TRUE, jeśli operand pasuje do wzorca.Czasami musimy wykonać dopasowanie wzorca zamiast równego lub nierównego. Like jest używany, gdy chcemy zwrócić wiersz, jeśli określony ciąg znaków pasuje do określonego wzorca. Wzorzec może być kombinacją zwykłych znaków i symboli wieloznacznych.
Aby zwrócić wiersz z powrotem, zwykłe znaki muszą dokładnie odpowiadać znakom określonym w ciągu znaków.Znaki wieloznaczne można dopasować do dowolnych części ciągu znaków.
Utwórzmy tabelę dbo.Customer, a następnie kilka przykładów w czasie rzeczywistym
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) Korzystanie z %
Powiedzmy, czy chcemy znaleźć wszystkie wiersze, w których FName zawiera „i”. Możemy użyć poniższego zapytania
Select * From dbo.Customer where FName like '%i%'
Jak używać % z operatorem Like w SQL Server - Samouczek SQL Server / TSQL |
Zauważyłem, że używając % przed i po „i”, mówimy zapytaniu, aby znalazło wszystkie wiersze, w których FName ma znak „i” i nie ma znaczenia, jakie inne znaki znajdują się przed i po „i”.
2) Używanie _ (podkreślenie)
Podkreślenia można użyć, gdy chcemy sprawdzić pojedynczy znak, który może być czymkolwiek i podać resztę znaków do naszego dopasowania. Powiedzmy, że jeśli chcę znaleźć wszystkie wiersze, w których pierwszym znakiem FName może być cokolwiek, ale reszta powinna być „ita”. Mogę użyć poniższego zapytania.
Select * From dbo.Customer where FName like '_ita'
Jak używać podkreślenia (_) z operatorem Like w SQL Server — samouczek SQL Server / TSQL |
3) Używanie [ ] — Dowolny pojedynczy znak w określonym zakresie [a-t] lub ustawionym [abc]
Operator Like z [ ] może być użyty, gdy chcemy mieć zasięg. Powiedzmy, że chcę znaleźć wszystkie wiersze, w których pierwszy znak FName zaczyna się od [a-f]. Możemy użyć poniższego zapytania.
Select * From dbo.Customer where FName like '[a-f]%'
Jak używać operatora Rang z operatorem Like w SQL Server do wyszukiwania — samouczek SQL Server / TSQL |
Jak widać, użyłem [a-f]%. Oznacza to, że chcę pierwszy znak od a do f, a potem wszystkie znaki są w porządku, ponieważ użyłem %.
4) [^] Dowolny pojedynczy znak NIE mieszczący się w określonym zakresie [a-t] lub ustaw [abc]
Powiedzmy, że chcę znaleźć wszystkie wiersze, w których pierwszy znak FName NIE zaczyna się od [a do f]. Możemy użyć poniższego zapytania.
Wybierz * From dbo.Customer
where FName like '[^a-f]%'
Jak używać Not in Range z Like Operator w SQL Server — samouczek SQL Server / TSQL |
Zauważyłem, że zwraca nam tylko wiersze, które nie zaczynają się od żadnego znaku z a-f.
Powiedzmy, że jeśli chcemy uzyskać wszystkie wiersze, w których FName nie zacznij od a,d,j. możemy użyć poniższego zapytania.
Wybierz * From dbo.Customer
where FName like '[^adj]%'
Prezentacja wideo:Jak używać operatora logicznego podobnego w programie SQL Server