В этом учебном пособии вы узнаете, как использовать условный оператор IF ... ELSE в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
В SQL Server оператор IF ... ELSE используется для выполнения кода при условии TRUE или выполнения другого кода, если условие имеет значение FALSE.
Синтаксис
Синтаксис IF ... ELSE в SQL Server (Transact-SQL):
{...выполняется когда условие принимает TRUE...}
[ ELSE
{... выполняется когда условие принимает FALSE...} ]
ELSE - необязательный. Вы должны использовать условие ELSE, если хотите выполнить набор операторов, когда условие IF оценивается как FALSE (то есть: условие не было выполнено).
Примечание
- В IF ... ELSE условие ELSE является необязательным.
- В условном операторе IF ... ELSE нет ELSE IF. Вместо этого вам нужно будет вложить несколько инструкций IF ... ELSE для достижения желаемого эффекта.
Пример IF ... ELSE
Рассмотрим пример использования оператора IF ... ELSE в SQL Server (Transact-SQL).
Например:
1 2 3 4 5 6 7 |
DECLARE @mysite_id INT; SET @mysite_id = 15; IF @mysite_id < 25 PRINT 'yandex.com'; ELSE PRINT 'google.com'; GO |
В этом примере IF ... ELSE мы напечатаем yandex.com если переменная @mysite_id меньше 25. В противном случае мы напечатаем 'google.com'.
Пример - без условия ELSE
Поскольку условие ELSE является необязательным, вам не требуется включать условие ELSE в операторе IF ... ELSE в SQL Server.
Рассмотрим пример исключения условия ELSE из оператора IF ... ELSE в SQL Server (Transact-SQL).
Например:
1 2 3 4 5 6 |
DECLARE @mysite_id INT; SET @mysite_id = 15; IF @mysite_id < 25 PRINT 'yandex.com'; GO |
В этом примере IF ... ELSE мы напечатаем 'yandex.com', если переменная @mysite_id меньше 25. В этом примере IF ... ELSE нет условия ELSE.
Пример – вложенные выражения IF ... ELSE
Поскольку мы не можем написать условие ELSE IF в выражении IF ... ELSE, нам нужно вставить несколько IF ... ELSE.
Рассмотрим пример того, как вложить несколько инструкций IF ... ELSE в SQL Server (Transact-SQL).
Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
DECLARE @mysite_id INT; SET @mysite_id = 15; IF @mysite_id < 25 PRINT 'yandex.com'; ELSE BEGIN IF @mysite_id < 50 PRINT 'google.com'; ELSE PRINT 'bing.com'; END; GO |
В этом примере вложенного оператогра IF ... ELSE мы напечатаем 'yandex.com', если переменная @mysite_id меньше 25.
В противном случае будет выполнено первое условие ELSE. В этом ELSE существует вложенный оператор IF ... ELSE, который будет печатать 'google.com', если переменная @mysite_id меньше 50. Наконец, если не выполняется другое условие, то будет печататься 'bing.com'.