Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Задает условия выполнения для инструкции Transact-SQL. Оператор Transact-SQL, который следует ключевому слову IF , и его условие выполняется, если условие удовлетворяется: логическое выражение возвращается TRUE. Необязательный ELSE ключевое слово представляет другую инструкцию Transact-SQL, которая выполняется, если IF условие не удовлетворяется: логическое выражение возвращается FALSE.
Соглашения о синтаксисе Transact-SQL
Syntax
IF boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
Arguments
boolean_expression
Выражение, возвращающее TRUE или FALSE. Если логическое выражение содержит SELECT инструкцию, SELECT оператор должен быть заключен в скобки.
{ sql_statement | statement_block }
Любая инструкция Transact-SQL или группирование инструкций, определяемая с помощью блока инструкций. Если блок инструкции не используется, IFELSE то или условие может повлиять на производительность только одной инструкции Transact-SQL.
Чтобы определить блок инструкций, используйте ключевые слова BEGIN управления потоком и END.
Remarks
Конструкция IF...ELSE может использоваться в пакетах, в хранимых процедурах и в нерегламентированных запросах. Если эта конструкция используется в хранимой процедуре, обычно проверяется наличие некоторых параметров.
IF тесты можно вложить после другого IF или следующего ELSE. Ограничение количества вложенных уровней зависит от свободной памяти.
Examples
IF DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
SELECT 'Weekend';
ELSE
SELECT 'Weekday';
Дополнительные примеры см. в разделе ELSE (IF... ELSE).
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
В следующем примере используется IF...ELSE для определения того, какой из двух ответов показать пользователю, на основе веса элемента в таблице DimProduct.
-- Uses AdventureWorksDW
DECLARE @maxWeight FLOAT, @productKey INT;
SET @maxWeight = 100.00;
SET @productKey = 424;
IF @maxWeight <= (
SELECT Weight
FROM DimProduct
WHERE ProductKey = @productKey
)
SELECT @productKey AS ProductKey,
EnglishDescription,
Weight,
'This product is too heavy to ship and is only available for pickup.' AS ShippingStatus
FROM DimProduct
WHERE ProductKey = @productKey;
ELSE
SELECT @productKey AS ProductKey,
EnglishDescription,
Weight,
'This product is available for shipping or pickup.' AS ShippingStatus
FROM DimProduct
WHERE ProductKey = @productKey;