T-SQL Tutorial T-SQL Advanced Database Management T-SQL References

T-SQL - Operators Precedence



T-SQL Operators Precedence

Operator precedence (order of operations) is a collection of rules that reflect conventions about which procedures to perform first in order to evaluate a given expression.

For example, multiplication has higher precedence than addition. Thus, the expression 1 + 2 × 3 is interpreted to have the value 1 + (2 × 3) = 7, and not (1 + 2) × 3 = 9. When exponent is used in the expression, it has precedence over both addition and multiplication. Thus 3 + 52 = 28 and 3 × 52 = 75.

Example:

Consider the following expressions:

--evaluates 5 * 2 first
Result1 = 15 - 5 * 2;

--above expression is equivalent to
Result2 = 15 - (5 * 2);

--forcing compiler to evaluate 15 - 5 first
Result3 = (15 - 5) * 2;

Now, Consider a database table called Sample with the following records:

DataVar1Var2
Data1101
Data2152
Data3203
Data4254
Data5305
Data6356

The above discussed can be applied on the table Sample. Consider the example below:

SELECT *, 
  Var1 - Var2 * 2 AS Result1,
  Var1 - (Var2 * 2) AS Result2,
  (Var1 - Var2) * 2 AS Result3 
FROM Sample;

The above query will produce following result:

DataVar1Var2Result1Result2Result3
Data11018818
Data2152111126
Data3203141434
Data4254171742
Data5305202050
Data6356232358

T-SQL Operators Precedence Table

The following table lists the precedence of T-SQL operators. Operators are listed top to bottom, in descending precedence. Operators with higher precedence are evaluated before operators with relatively lower precedence.

PrecedenceOperators
8~ (Bitwise NOT)
7* (Multiplication), / (Division), % (Modulus)
6+ (Positive), - (Negative), + (Addition), + (Concatenation), - (Subtraction), & (Bitwise AND), ^ (Bitwise Exclusive OR), | (Bitwise OR)
5= (Comparison), >, <, >=, <=, <>, !=, !>, !< (Comparison operators)
4NOT
3AND
2ALL, ANY, BETWEEN, IN, LIKE, OR, SOME
1= (Assignment)

❮ T-SQL - Operators