Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

POWER() Esempi in SQL Server

In SQL Server, il POWER() di T-SQL function è una funzione matematica che restituisce il valore dell'espressione specificata alla potenza specificata.

La funzione accetta due argomenti; il primo specifica l'espressione, il secondo specifica il potere con cui aumentare quell'espressione.

Il valore restituito è lo stesso tipo di dati del primo argomento.

Sintassi

La sintassi è questa:

POWER ( float_expression , y )

Dove espressione_flottante è un'espressione di tipo float o di un tipo che può essere convertito in modo implicito in float e y è il potere con cui aumentare float_expression .

y può essere un'espressione della categoria del tipo di dati numerico esatto o approssimativo, ad eccezione del tipo di dati bit.

Esempio 1 – Utilizzo di base

Ecco un esempio di base per dimostrare come funziona questa funzione.

SELECT POWER(2, 3) Result;

Risultato:

+----------+
| Result   |
|----------|
| 8        |
+----------+

Esempio 2 – Valore negativo

Ecco un esempio di passaggio di un valore negativo per il primo argomento.

SELECT 
  POWER(-2, 3) 'Result 1',
  POWER(-20, 3) 'Result 2',
  POWER(-2, 30) 'Result 3';

Risultato:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| -8         | -8000      | 1073741824 |
+------------+------------+------------+

Ed ecco un valore negativo per il secondo argomento:

SELECT 
  POWER(2, -3) 'Result 1',
  POWER(20, -20) 'Result 2',
  POWER(200, -300) 'Result 3';

Risultato:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 0          | 0          | 0          |
+------------+------------+------------+

E poi, entrambi gli argomenti sono negativi:

SELECT 
  POWER(-2, -3) 'Result 1',
  POWER(-20, -20) 'Result 2',
  POWER(-200, -300) 'Result 3';

Risultato:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 0          | 0          | 0          |
+------------+------------+------------+

Esempio 3 – Zero

Ecco un esempio di passaggio di zero come primo argomento.

SELECT 
  POWER(0, 3) 'Result 1',
  POWER(0, 20) 'Result 2',
  POWER(0, 300) 'Result 3';

Risultato:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 0          | 0          | 0          |
+------------+------------+------------+

E zero per il secondo argomento:

SELECT 
  POWER(3, 0) 'Result 1',
  POWER(20, 0) 'Result 2',
  POWER(300, 0) 'Result 3';

Risultato:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 1          | 1          | 1          |
+------------+------------+------------+

Esempio 4 – Passaggio 1

Passando un valore di 1 per il primo argomento.

SELECT 
  POWER(1, 3) 'Result 1',
  POWER(1, 30) 'Result 2',
  POWER(1, 300) 'Result 3';

Risultato:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 1          | 1          | 1          |
+------------+------------+------------+

E 1 per il secondo argomento:

SELECT 
  POWER(3, 1) 'Result 1',
  POWER(30, 1) 'Result 2',
  POWER(300, 1) 'Result 3';

Risultato:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 3          | 30         | 300        |
+------------+------------+------------+

Esempio 5 – Espressioni

Puoi anche passare espressioni come questa:

SELECT POWER(5*2, 2) Result;

Risultato:

+----------+
| Result   |
|----------|
| 100      |
+----------+

Questo è effettivamente lo stesso di fare questo:

SELECT POWER(10, 2) Result;

Risultato:

+----------+
| Result   |
|----------|
| 100      |
+----------+

LOG10()

Transact-SQL ha anche il LOG10() funzione che è inversamente correlata a POWER() .