In SQL Server wordt de T-SQL POWER()
functie is een wiskundige functie die de waarde van de gespecificeerde uitdrukking teruggeeft aan de gespecificeerde macht.
De functie accepteert twee argumenten; de eerste specificeert de uitdrukking, de tweede specificeert de kracht waarmee die uitdrukking wordt verheven.
De geretourneerde waarde is hetzelfde gegevenstype als het eerste argument.
Syntaxis
De syntaxis gaat als volgt:
POWER ( float_expression , y )
Waar float_expression is een uitdrukking van het type float of van een type dat impliciet kan worden geconverteerd naar float, en y is de kracht waarmee je float_expression . kunt verhogen .
j kan een uitdrukking zijn van de exacte numerieke of geschatte numerieke gegevenstypecategorie, behalve het bitgegevenstype.
Voorbeeld 1 – Basisgebruik
Hier is een eenvoudig voorbeeld om te demonstreren hoe deze functie werkt.
SELECT POWER(2, 3) Result;
Resultaat:
+----------+ | Result | |----------| | 8 | +----------+
Voorbeeld 2 – Negatieve waarde
Hier is een voorbeeld van het doorgeven van een negatieve waarde voor het eerste argument.
SELECT POWER(-2, 3) 'Result 1', POWER(-20, 3) 'Result 2', POWER(-2, 30) 'Result 3';
Resultaat:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | -8 | -8000 | 1073741824 | +------------+------------+------------+
En hier is een negatieve waarde voor het tweede argument:
SELECT POWER(2, -3) 'Result 1', POWER(20, -20) 'Result 2', POWER(200, -300) 'Result 3';
Resultaat:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
En vervolgens zijn beide argumenten negatief:
SELECT POWER(-2, -3) 'Result 1', POWER(-20, -20) 'Result 2', POWER(-200, -300) 'Result 3';
Resultaat:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Voorbeeld 3 – Nul
Hier is een voorbeeld van het doorgeven van nul als eerste argument.
SELECT POWER(0, 3) 'Result 1', POWER(0, 20) 'Result 2', POWER(0, 300) 'Result 3';
Resultaat:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
En nul voor het tweede argument:
SELECT POWER(3, 0) 'Result 1', POWER(20, 0) 'Result 2', POWER(300, 0) 'Result 3';
Resultaat:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Voorbeeld 4 – Passen in 1
Een waarde van 1 doorgeven voor het eerste argument.
SELECT POWER(1, 3) 'Result 1', POWER(1, 30) 'Result 2', POWER(1, 300) 'Result 3';
Resultaat:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
En 1 voor het tweede argument:
SELECT POWER(3, 1) 'Result 1', POWER(30, 1) 'Result 2', POWER(300, 1) 'Result 3';
Resultaat:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 3 | 30 | 300 | +------------+------------+------------+
Voorbeeld 5 – Uitdrukkingen
U kunt ook uitdrukkingen als deze doorgeven:
SELECT POWER(5*2, 2) Result;
Resultaat:
+----------+ | Result | |----------| | 100 | +----------+
Dat is in feite hetzelfde als dit doen:
SELECT POWER(10, 2) Result;
Resultaat:
+----------+ | Result | |----------| | 100 | +----------+
LOG10()
Transact-SQL heeft ook de LOG10()
functie die omgekeerd gerelateerd is aan POWER()
.