Udostępnij za pośrednictwem


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.

Topic link iconKonwencje składni języka Transact-SQL

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