V SQL Serveru T-SQL POWER()
funkce je matematická funkce, která vrací hodnotu zadaného výrazu na zadanou mocninu.
Funkce přijímá dva argumenty; první specifikuje výraz, druhý určuje sílu, s jakou má být tento výraz zvýšen.
Vrácená hodnota je stejného datového typu jako první argument.
Syntaxe
Syntaxe vypadá takto:
POWER ( float_expression , y )
Kde float_expression je výraz typu float nebo typu, který lze implicitně převést na float, a y je síla, se kterou lze zvýšit float_expression .
y může být vyjádřením přesné číselné nebo přibližné číselné kategorie datového typu, s výjimkou bitového datového typu.
Příklad 1 – Základní použití
Zde je základní příklad, který demonstruje, jak tato funkce funguje.
SELECT POWER(2, 3) Result;
Výsledek:
+----------+ | Result | |----------| | 8 | +----------+
Příklad 2 – Záporná hodnota
Zde je příklad předání záporné hodnoty pro první argument.
SELECT POWER(-2, 3) 'Result 1', POWER(-20, 3) 'Result 2', POWER(-2, 30) 'Result 3';
Výsledek:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | -8 | -8000 | 1073741824 | +------------+------------+------------+
A zde je záporná hodnota pro druhý argument:
SELECT POWER(2, -3) 'Result 1', POWER(20, -20) 'Result 2', POWER(200, -300) 'Result 3';
Výsledek:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
A dále, oba argumenty jsou záporné:
SELECT POWER(-2, -3) 'Result 1', POWER(-20, -20) 'Result 2', POWER(-200, -300) 'Result 3';
Výsledek:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Příklad 3 – nula
Zde je příklad předání nuly jako prvního argumentu.
SELECT POWER(0, 3) 'Result 1', POWER(0, 20) 'Result 2', POWER(0, 300) 'Result 3';
Výsledek:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
A nula pro druhý argument:
SELECT POWER(3, 0) 'Result 1', POWER(20, 0) 'Result 2', POWER(300, 0) 'Result 3';
Výsledek:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Příklad 4 – Předání za 1
Předání hodnoty 1 pro první argument.
SELECT POWER(1, 3) 'Result 1', POWER(1, 30) 'Result 2', POWER(1, 300) 'Result 3';
Výsledek:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
A 1 pro druhý argument:
SELECT POWER(3, 1) 'Result 1', POWER(30, 1) 'Result 2', POWER(300, 1) 'Result 3';
Výsledek:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 3 | 30 | 300 | +------------+------------+------------+
Příklad 5 – Výrazy
Můžete také předat výrazy, jako je tento:
SELECT POWER(5*2, 2) Result;
Výsledek:
+----------+ | Result | |----------| | 100 | +----------+
To je v podstatě stejné jako toto:
SELECT POWER(10, 2) Result;
Výsledek:
+----------+ | Result | |----------| | 100 | +----------+
LOG10()
Transact-SQL má také LOG10()
funkce, která je nepřímo příbuzná s POWER()
.