Prioridad de operadores

Solo disponible en BuenasTareas
  • Páginas : 2 (423 palabras )
  • Descarga(s) : 8
  • Publicado : 17 de agosto de 2010
Leer documento completo
Vista previa del texto
PRIORIDAD DE OPERADORES

Los operadores tienen los niveles de prioridad que se muestran en la siguiente tabla. Un operador de los niveles más altos se evalúa antes que un operador de un nivel másbajo.
Nivel | Operadores |
1 | ~ (operador bit a bit NOT) |
2 | * (multiplicar), / (dividir), % (módulo) |
3 | + (positivo), - (negativo), + (sumar), (+ concatenar), - (restar), & (ANDbit a bit) , ^ (OR exclusiva bit a bit), | (OR bit a bit) |
4 | =, >, <, >=, <=, <>, !=, !>, !< (operadores de comparación) |
5 | NOT |
6 | AND |
7 | ALL, ANY, BETWEEN,IN, LIKE, OR, SOME |
8 | = (asignación) |
Cuando en una expresión dos operadores tengan el mismo nivel de prioridad de operador, se evalúan de izquierda a derecha en función de su posición dentro dela expresión. Por ejemplo, en la expresión utilizada en la siguiente instrucción SET, el operador de resta se evalúa antes que el operador de suma.

Copiar código
DECLARE @MyNumber int
SET@MyNumber = 4 - 2 + 27
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber
Utilice paréntesis para suplantar la prioridad definida de los operadores en una expresión. Todolo que está dentro del paréntesis se evalúa en primer lugar para producir un valor antes de que dicho valor lo pueda utilizar cualquier otro operador que se encuentre fuera del paréntesis.
Porejemplo, en la expresión utilizada en la siguiente instrucción SET, el operador de multiplicación tiene una prioridad mayor que el operador de suma. Por lo tanto, se evalúa antes; el resultado de laexpresión es 13.

Copiar código
DECLARE @MyNumber int
SET @MyNumber = 2 * 4 + 5
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber
En la expresión utilizada en la siguienteinstrucción SET, el paréntesis hace que primero se lleve a cabo la suma. El resultado de la expresión es 18.

Copiar código
DECLARE @MyNumber int
SET @MyNumber = 2 * (4 + 5)
-- Evaluates to...
tracking img