Повечето (вероятно всички ) езиците за програмиране включват някаква форма на IF
изявление, което позволява на програмистите да пишат условен код. Тоест код, който ще се изпълнява само if определено условие е вярно.
Това е много проста концепция. По принцип става така:
„Ако това, направете това.“
Повечето езици просто го наричат IF
, но някои имат свой собствен обрат в името (например в ColdFusion/CFML се нарича CFIF
).
Във всеки случай те по същество правят същото.
В SQL Server (или по-точно неговия език за програмиране T-SQL) се нарича IF
.
Пример
Ето основен пример, за да демонстрирате как IF
изявление работи.
IF 1 < 2 SELECT 'True';
Резултат:
True
В този случай изразът за оценка е 1 < 2
. Вярно е, че 1 е по-малко от 2, така че SELECT
операторът беше изпълнен и True
беше върнат.
Ако обаче изразът е фалшив, нищо няма да се случи.
Следният пример демонстрира това:
IF 1 > 2 SELECT 'True';
Резултат:
Commands completed successfully.
Всичко, което SQL Server ми каза, е, че командата е завършена успешно. Нищо друго не беше върнато, защото нищо друго не беше посочено.
Изявлението IF... ELSE
В SQL Server, IF
операторът идва с незадължителен ELSE
, което ви позволява да предоставите алтернатива, в случай че изразът върне false.
Следователно, това е все едно да кажете „АКО това, направете това, ИНАЧЕ, направете това“.
В този случай можем да добавим незадължителния ELSE
към IF
израз, така че да стане IF... ELSE
изявление.
IF 1 > 2
SELECT 'True';
ELSE
SELECT 'False';
Резултат:
False
Сега получаваме и резултат, когато изразът е фалшив.
Вложени IF оператори
Едно от страхотните неща за IF
твърденията е, че можете да ги вложите. Тоест, можете да добавите още IF
изявления във вашия оригинален, и още в тези и т.н.
Можете да вложите толкова IF
изявления, както желаете. Вие сте ограничени само от количеството налична памет.
Ето пример за влагане на IF
изявление в друго.
DECLARE @bankBalance int = 123;
IF @bankBalance > 100
IF @bankBalance > 150
SELECT 'Rich!';
ELSE
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Резултат:
Wealthy
IF... ELSE IF оператори
Можете също да го използвате като IF... ELSE IF
изявление.
DECLARE @bankBalance int = 123;
IF @bankBalance > 150
SELECT 'Rich!';
ELSE IF @bankBalance > 100
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Резултат:
Wealthy