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