I SQL Server, T-SQL POWER()
funktion er en matematisk funktion, der returnerer værdien af det angivne udtryk til den angivne potens.
Funktionen accepterer to argumenter; den første specificerer udtrykket, den anden specificerer kraften til at hæve dette udtryk.
Returværdien er den samme datatype som det første argument.
Syntaks
Syntaksen ser sådan ud:
POWER ( float_expression , y )
Hvor float_expression er et udtryk for type float eller af en type, der implicit kan konverteres til float, og y er kraften til at hæve float_expression .
y kan være et udtryk for den nøjagtige numeriske eller omtrentlige numeriske datatypekategori, undtagen bitdatatypen.
Eksempel 1 – Grundlæggende brug
Her er et grundlæggende eksempel for at demonstrere, hvordan denne funktion fungerer.
SELECT POWER(2, 3) Result;
Resultat:
+----------+ | Result | |----------| | 8 | +----------+
Eksempel 2 – Negativ værdi
Her er et eksempel på at indsætte en negativ værdi for det første argument.
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 | +------------+------------+------------+
Og her er en negativ værdi for det andet argument:
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 | +------------+------------+------------+
Og dernæst er begge argumenter negative:
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 | +------------+------------+------------+
Eksempel 3 – Nul
Her er et eksempel på at sende i nul som det første 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 | +------------+------------+------------+
Og nul for det andet argument:
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 | +------------+------------+------------+
Eksempel 4 – Beståelse 1
Indtastning af en værdi på 1 for det første argument.
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 | +------------+------------+------------+
Og 1 for det andet argument:
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 | +------------+------------+------------+
Eksempel 5 – Udtryk
Du kan også sende udtryk som dette:
SELECT POWER(5*2, 2) Result;
Resultat:
+----------+ | Result | |----------| | 100 | +----------+
Det er faktisk det samme som at gøre dette:
SELECT POWER(10, 2) Result;
Resultat:
+----------+ | Result | |----------| | 100 | +----------+
LOG10()
Transact-SQL har også LOG10()
funktion, som er omvendt relateret til POWER()
.