En SQL Server, el T-SQL POWER()
function es una función matemática que devuelve el valor de la expresión especificada a la potencia especificada.
La función acepta dos argumentos; el primero especifica la expresión, el segundo especifica el poder con el que se eleva esa expresión.
El valor devuelto es el mismo tipo de datos que el primer argumento.
Sintaxis
La sintaxis es así:
POWER ( float_expression , y )
Donde expresión_flotante es una expresión de tipo float o de un tipo que se puede convertir implícitamente a float, y y es el poder con el que subir float_expression .
y puede ser una expresión de la categoría de tipo de datos numérico exacto o numérico aproximado, excepto para el tipo de datos bit.
Ejemplo 1:uso básico
Aquí hay un ejemplo básico para demostrar cómo funciona esta función.
SELECT POWER(2, 3) Result;
Resultado:
+----------+ | Result | |----------| | 8 | +----------+
Ejemplo 2:valor negativo
Aquí hay un ejemplo de pasar un valor negativo para el primer argumento.
SELECT POWER(-2, 3) 'Result 1', POWER(-20, 3) 'Result 2', POWER(-2, 30) 'Result 3';
Resultado:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | -8 | -8000 | 1073741824 | +------------+------------+------------+
Y aquí hay un valor negativo para el segundo argumento:
SELECT POWER(2, -3) 'Result 1', POWER(20, -20) 'Result 2', POWER(200, -300) 'Result 3';
Resultado:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Y luego, ambos argumentos son negativos:
SELECT POWER(-2, -3) 'Result 1', POWER(-20, -20) 'Result 2', POWER(-200, -300) 'Result 3';
Resultado:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Ejemplo 3:Cero
Aquí hay un ejemplo de pasar cero como primer argumento.
SELECT POWER(0, 3) 'Result 1', POWER(0, 20) 'Result 2', POWER(0, 300) 'Result 3';
Resultado:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Y cero para el segundo argumento:
SELECT POWER(3, 0) 'Result 1', POWER(20, 0) 'Result 2', POWER(300, 0) 'Result 3';
Resultado:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Ejemplo 4 – Pasando en 1
Pasando un valor de 1 para el primer argumento.
SELECT POWER(1, 3) 'Result 1', POWER(1, 30) 'Result 2', POWER(1, 300) 'Result 3';
Resultado:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Y 1 para el segundo argumento:
SELECT POWER(3, 1) 'Result 1', POWER(30, 1) 'Result 2', POWER(300, 1) 'Result 3';
Resultado:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 3 | 30 | 300 | +------------+------------+------------+
Ejemplo 5 – Expresiones
También puede pasar expresiones como esta:
SELECT POWER(5*2, 2) Result;
Resultado:
+----------+ | Result | |----------| | 100 | +----------+
Eso es efectivamente lo mismo que hacer esto:
SELECT POWER(10, 2) Result;
Resultado:
+----------+ | Result | |----------| | 100 | +----------+
LOG10()
Transact-SQL también tiene el LOG10()
función que está inversamente relacionada con POWER()
.