Dans SQL Server, le T-SQL POWER()
function est une fonction mathématique qui renvoie la valeur de l'expression spécifiée à la puissance spécifiée.
La fonction accepte deux arguments ; le premier spécifie l'expression, le second spécifie la puissance avec laquelle élever cette expression.
La valeur de retour est du même type de données que le premier argument.
Syntaxe
La syntaxe ressemble à ceci :
POWER ( float_expression , y )
Où expression_float est une expression de type float ou d'un type qui peut être implicitement converti en float, et y est la puissance avec laquelle élever float_expression .
o peut être une expression de la catégorie de type de données numérique exacte ou numérique approximative, à l'exception du type de données bit.
Exemple 1 - Utilisation de base
Voici un exemple de base pour illustrer le fonctionnement de cette fonction.
SELECT POWER(2, 3) Result;
Résultat :
+----------+ | Result | |----------| | 8 | +----------+
Exemple 2 – Valeur négative
Voici un exemple de transmission d'une valeur négative pour le premier argument.
SELECT POWER(-2, 3) 'Result 1', POWER(-20, 3) 'Result 2', POWER(-2, 30) 'Result 3';
Résultat :
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | -8 | -8000 | 1073741824 | +------------+------------+------------+
Et voici une valeur négative pour le second argument :
SELECT POWER(2, -3) 'Result 1', POWER(20, -20) 'Result 2', POWER(200, -300) 'Result 3';
Résultat :
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Et ensuite, les deux arguments sont négatifs :
SELECT POWER(-2, -3) 'Result 1', POWER(-20, -20) 'Result 2', POWER(-200, -300) 'Result 3';
Résultat :
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Exemple 3 – Zéro
Voici un exemple de passage de zéro comme premier argument.
SELECT POWER(0, 3) 'Result 1', POWER(0, 20) 'Result 2', POWER(0, 300) 'Result 3';
Résultat :
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Et zéro pour le second argument :
SELECT POWER(3, 0) 'Result 1', POWER(20, 0) 'Result 2', POWER(300, 0) 'Result 3';
Résultat :
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Exemple 4 - Passe en 1
Passer la valeur 1 pour le premier argument.
SELECT POWER(1, 3) 'Result 1', POWER(1, 30) 'Result 2', POWER(1, 300) 'Result 3';
Résultat :
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Et 1 pour le second argument :
SELECT POWER(3, 1) 'Result 1', POWER(30, 1) 'Result 2', POWER(300, 1) 'Result 3';
Résultat :
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 3 | 30 | 300 | +------------+------------+------------+
Exemple 5 – Expressions
Vous pouvez également transmettre des expressions telles que :
SELECT POWER(5*2, 2) Result;
Résultat :
+----------+ | Result | |----------| | 100 | +----------+
C'est effectivement la même chose que de faire ceci :
SELECT POWER(10, 2) Result;
Résultat :
+----------+ | Result | |----------| | 100 | +----------+
LOG10()
Transact-SQL a également le LOG10()
fonction qui est inversement liée à POWER()
.