Udostępnij za pośrednictwem


Operator Precedence (Transact-SQL)

Kiedy złożone wyrażenie ma wiele operator, pierwszeństwo operator określa kolejność, w którym wykonywane są operacje.Kolejność wykonywania może w znaczący sposób wpływać na wartość wynikową.

Operatorzy mają poziomy priorytetu, pokazane w poniższej tabela.Operator na wyższych poziomach jest sprawdzane przed operatorem na niższym poziomie.

Level

Operatory

1

~ (Bitowe NOT)

2

* (Mnożenie) / (dział) % (modulo)

3

+ (Dodatnie),-(minus) + (Dodawanie) (+ złączyć),-(odejmować) & (I bitowe) ^ (bitowe lub wyłączności), | (lub bitowe)

4

=, >, <, >=, <=, <>, !=, !>, !< (Operatory porównania)

5

NIE

6

ORAZ

7

WSZYSTKIE, MIĘDZY NIMI, W PROGRAMIE, JAK, LUB, NIEKTÓRE

8

= (Przydział)

Jeśli dwa operatory w wyrażenie mają ten sam poziom pierwszeństwa operator, one są obliczane od lewej do prawej na podstawie ich pozycji w wyrażenie.Na przykład w wyrażenie używany w następujących SET Instrukcja operator odejmowania są sprawdzane przed operatora dodawania.

DECLARE @MyNumber int
SET @MyNumber = 4 - 2 + 27
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber

Należy używać nawiasów, aby zastąpić zdefiniowane pierwszeństwo operatorów w wyrażenie.Wszystkie elementy w nawiasie sprawdzana jest zgodność najpierw aby dawała pojedynczą wartość przed wartość może być używana przez każdy podmiot spoza nawiasów.

Na przykład w wyrażenie używane w następujących SET Instrukcja, operator mnożenia ma wyższy priorytet niż operator dodawania. Dlatego jest obliczana jako pierwsza, jest wynik wyrażenie 13.

DECLARE @MyNumber int
SET @MyNumber = 2 * 4 + 5
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber

W wyrażenie używane w następujących SET Instrukcja, nawiasy powoduje dodanie należy najpierw wykonać. W efekcie wyrażenie 18.

DECLARE @MyNumber int
SET @MyNumber = 2 * (4 + 5)
-- Evaluates to 2 * 9 which yields an expression result of 18.
SELECT @MyNumber

Jeśli wyrażenie zawiera zagnieżdżone nawiasy, najpierw jest obliczane wyrażenie najbardziej głęboko zagnieżdżonych.Poniższy przykład zawiera zagnieżdżone nawiasy z wyrażeniem 5 - 3 zestaw najbardziej głęboko zagnieżdżonych nawiasów. To wyrażenie zwraca wartość 2. Następnie należy (operator dodawania+) dodaje ten wynik 4. Ta daje w wyniku wartość 6. Wreszcie 6 jest mnożona przez 2 aby dawała wynik wyrażenie 12.

DECLARE @MyNumber int
SET @MyNumber = 2 * (4 + (5 - 3) )
-- Evaluates to 2 * (4 + 2) which then evaluates to 2 * 6, and 
-- yields an expression result of 12.
SELECT @MyNumber