Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Exemples POWER() dans SQL Server

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 )

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() .