ELSE (IF...ELSE) (Transact-SQL)
Nakłada warunki wykonywania Transact-SQL Instrukcja. The Transact-SQL statement (sql_statement) following the Boolean_expressionis executed if the Boolean_expression evaluates to TRUE.Opcjonalne słowo kluczowe ELSE jest alternatywny Transact-SQL Instrukcja, która jest wykonywana, kiedy Boolean_expression ma wartość FALSE lub NULL.
IF Boolean_expression { sql_statement | statement_block }
[ ELSE { sql_statement | statement_block } ]
Argumenty
Boolean_expression
Wyrażenie zwracające wartość TRUE lub FALSE.Jeśli wyrażenie Boolean_expression zawiera instrukcję SELECT, musi ona być ujęta w nawias.{ sql_statement | statement_block }
Jest ważne w każdym Transact-SQL Instrukcja lub instrukcji grupowanie zgodnie z definicją na blok instrukcji. Do definiowania blok instrukcja (partia), za pomocą słów kluczowych języka sterowania przepływem BEGIN i END.Chociaż wszystkie Transact-SQL instrukcje są prawidłowe w bloku BEGIN... END niektórych Transact-SQL Instrukcje powinny nie zgrupowane razem w obrębie tej samej serii (blok instrukcja).
Typy wynik
Boolean
Przykłady
A.Względne położenie kolumna z lewej strony kolumna zestaw wyników.
W poniższym przykładzie ma prosty logiczny () wyrażenie1=1), ma wartość true, a w związku z tym drukuje pierwszą instrukcją.
IF 1 = 1 PRINT 'Boolean_expression is true.'
ELSE PRINT 'Boolean_expression is false.' ;
W poniższym przykładzie ma (proste wyrażenie logiczne1=2), nie jest spełniony, a w związku z tym drukuje druga instrukcja.
IF 1 = 2 PRINT 'Boolean_expression is true.'
ELSE PRINT 'Boolean_expression is false.' ;
GO
B.Maskę bitów wskazującą informacje przechowywane w DBCOLUMNFLAGS w OLE DB.
Może być jeden lub kombinację z następujących czynności:Ze względu na to, że dostępne są 10 rowery w Product Tabela, które spełniają WHERE Klauzula, pierwszą instrukcją wydruku będzie wykonywany. Zmiana > 5 Aby > 15 Aby zobaczyć, w jaki sposób można wykonać drugiej części instrukcja.
USE AdventureWorks
GO
IF
(SELECT COUNT(*) FROM Production.Product WHERE Name LIKE 'Touring-3000%' ) > 5
PRINT 'There are more than 5 Touring-3000 bicycles.'
ELSE PRINT 'There are 5 or less Touring-3000 bicycles.' ;
GO
C.4 = Nullable
8 = Przechowywanie wersji wierszaKażdy blok instrukcja rozpoczyna się od BEGIN i zakończeniu pracy z END.
USE AdventureWorks
GO
DECLARE @AvgWeight decimal(8,2), @BikeCount int
IF
(SELECT COUNT(*) FROM Production.Product WHERE Name LIKE 'Touring-3000%' ) > 5
BEGIN
SET @BikeCount =
(SELECT COUNT(*)
FROM Production.Product
WHERE Name LIKE 'Touring-3000%')
SET @AvgWeight =
(SELECT AVG(Weight)
FROM Production.Product
WHERE Name LIKE 'Touring-3000%')
PRINT 'There are ' + CAST(@BikeCount AS varchar(3)) + ' Touring-3000 bikes.'
PRINT 'The average weight of the top 5 Touring-3000 bikes is ' + CAST(@AvgWeight AS varchar(8)) + '.'
END
ELSE
BEGIN
SET @AvgWeight =
(SELECT AVG(Weight)
FROM Production.Product
WHERE Name LIKE 'Touring-3000%' )
PRINT 'Average weight of the Touring-3000 bikes is ' + CAST(@AvgWeight AS varchar(8)) + '.'
END ;
GO
D.Bit wartości są łączone, zastosować właściwości wartości połączonych bitów.
Na przykład, jeśli ma wartość bit 6, kolumna jest stała długość (2), pustych kolumn (4).Ustawianie @Number Zmienna 5, 50, a 500 Aby przetestować każdej instrukcja.
DECLARE @Number int
SET @Number = 50
IF @Number > 100
PRINT 'The number is large.'
ELSE
BEGIN
IF @Number < 10
PRINT 'The number is small.'
ELSE
PRINT 'The number is medium.'
END ;
GO
See Also