Większość (prawdopodobnie wszystkie ) języki programowania zawierają pewną formę IF instrukcja, która umożliwia programistom pisanie kodu warunkowego. Oznacza to, że kod, który wykona się tylko jeśli pewien warunek jest spełniony.
To bardzo prosta koncepcja. Zasadniczo wygląda to tak:
„Jeśli to, zrób to”.
Większość języków nazywa to po prostu IF , ale niektóre mają własną odmianę nazwy (na przykład w ColdFusion/CFML nazywa się CFIF ).
W każdym razie zasadniczo robią to samo.
W SQL Server (a dokładniej w języku programowania T-SQL) nazywa się to IF .
Przykład
Oto podstawowy przykład pokazujący, jak IF oświadczenie działa.
IF 1 < 2 SELECT 'True'; Wynik:
True
W tym przypadku wyrażenie do oceny to 1 < 2 . Prawdą jest, że 1 jest mniejsze niż 2, więc SELECT instrukcja została uruchomiona i True został zwrócony.
Jeśli jednak wyrażenie jest fałszywe, nic się nie stanie.
Poniższy przykład to ilustruje:
IF 1 > 2 SELECT 'True'; Wynik:
Commands completed successfully.
Wszystko, co powiedział mi SQL Server, to to, że polecenie zostało pomyślnie zakończone. Nic innego nie zostało zwrócone, ponieważ nic innego nie zostało określone.
Oświadczenie IF… ELSE
W SQL Server, IF instrukcja zawiera opcjonalny ELSE , co pozwala podać alternatywę w przypadku, gdy wyrażenie zwróci wartość false.
Dlatego to tak, jakby powiedzieć „JEŚLI to, zrób to, INACZEJ, zrób to”.
W takim przypadku możemy dodać opcjonalny ELSE do IF oświadczenie, tak aby stało się IF... ELSE oświadczenie.
IF 1 > 2
SELECT 'True';
ELSE
SELECT 'False'; Wynik:
False
Teraz otrzymujemy również wynik, gdy wyrażenie jest fałszywe.
Zagnieżdżone instrukcje IF
Jedna z największych zalet IF oświadczenia jest to, że możesz je zagnieździć. Oznacza to, że możesz dodać więcej IF oświadczenia wewnątrz oryginalnego, a więcej wewnątrz tych itp.
Możesz zagnieździć dowolną liczbę IF oświadczenia, jak chcesz. Ogranicza Cię tylko ilość dostępnej pamięci.
Oto przykład zagnieżdżenia IF oświadczenie wewnątrz innego.
DECLARE @bankBalance int = 123;
IF @bankBalance > 100
IF @bankBalance > 150
SELECT 'Rich!';
ELSE
SELECT 'Wealthy';
ELSE
SELECT 'Poor'; Wynik:
Wealthy
IF… ELSE IF instrukcje
Możesz również użyć go jako IF... ELSE IF oświadczenie.
DECLARE @bankBalance int = 123;
IF @bankBalance > 150
SELECT 'Rich!';
ELSE IF @bankBalance > 100
SELECT 'Wealthy';
ELSE
SELECT 'Poor'; Wynik:
Wealthy