sql >> Databasteknik >  >> RDS >> Sqlserver

POWER() Exempel i SQL Server

I SQL Server, T-SQL POWER() funktion är en matematisk funktion som returnerar värdet på det angivna uttrycket till den angivna potensen.

Funktionen accepterar två argument; den första specificerar uttrycket, den andra specificerar kraften med vilken uttrycket ska höjas.

Returvärdet är samma datatyp som det första argumentet.

Syntax

Syntaxen ser ut så här:

POWER ( float_expression , y )

Där float_expression är ett uttryck av typen float eller av en typ som implicit kan konverteras till float, och y är kraften med vilken float_expression ska höjas .

y kan vara ett uttryck för den exakta numeriska eller ungefärliga numeriska datatypkategorin, förutom bitdatatypen.

Exempel 1 – Grundläggande användning

Här är ett grundläggande exempel för att visa hur den här funktionen fungerar.

SELECT POWER(2, 3) Result;

Resultat:

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

Exempel 2 – Negativt värde

Här är ett exempel på att skicka in ett negativt värde för det första argumentet.

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

Resultat:

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

Och här är ett negativt värde för det andra argumentet:

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

Resultat:

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

Och sedan är båda argumenten negativa:

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

Resultat:

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

Exempel 3 – Noll

Här är ett exempel på att skicka in noll som första argument.

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

Resultat:

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

Och noll för det andra argumentet:

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

Resultat:

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

Exempel 4 – Godkänd 1

Skickar in ett värde på 1 för det första argumentet.

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

Resultat:

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

Och 1 för det andra argumentet:

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

Resultat:

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

Exempel 5 – Uttryck

Du kan också skicka in uttryck som detta:

SELECT POWER(5*2, 2) Result;

Resultat:

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

Det är i praktiken samma sak som att göra det här:

SELECT POWER(10, 2) Result;

Resultat:

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

LOG10()

Transact-SQL har också LOG10() funktion som är omvänt relaterad till POWER() .


  1. Vilket är det mest rekommenderade sättet att lagra tid i PostgreSQL med Java?

  2. mysql-liknande prestandahöjning

  3. Kan inte lösa sorteringskonflikt

  4. En guide för att distribuera TimescaleDB med Docker