W SQL Server funkcja T-SQL POWER()
function to funkcja matematyczna, która zwraca wartość określonego wyrażenia do określonej potęgi.
Funkcja przyjmuje dwa argumenty; pierwszy określa wyrażenie, drugi określa moc, z jaką należy podnieść to wyrażenie.
Zwracana wartość jest tego samego typu danych, co pierwszy argument.
Składnia
Składnia wygląda tak:
POWER ( float_expression , y )
Gdzie float_expression jest wyrażeniem typu float lub typu, który można niejawnie przekonwertować na float, a y to moc, z jaką można podnieść float_expression .
y może być wyrażeniem dokładnie numerycznej lub przybliżonej kategorii danych liczbowych, z wyjątkiem typu danych bitowych.
Przykład 1 – Podstawowe użycie
Oto podstawowy przykład pokazujący, jak działa ta funkcja.
SELECT POWER(2, 3) Result;
Wynik:
+----------+ | Result | |----------| | 8 | +----------+
Przykład 2 – Wartość ujemna
Oto przykład przekazywania wartości ujemnej dla pierwszego argumentu.
SELECT POWER(-2, 3) 'Result 1', POWER(-20, 3) 'Result 2', POWER(-2, 30) 'Result 3';
Wynik:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | -8 | -8000 | 1073741824 | +------------+------------+------------+
A oto ujemna wartość drugiego argumentu:
SELECT POWER(2, -3) 'Result 1', POWER(20, -20) 'Result 2', POWER(200, -300) 'Result 3';
Wynik:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
A następnie oba argumenty są negatywne:
SELECT POWER(-2, -3) 'Result 1', POWER(-20, -20) 'Result 2', POWER(-200, -300) 'Result 3';
Wynik:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Przykład 3 – Zero
Oto przykład przekazywania zera jako pierwszego argumentu.
SELECT POWER(0, 3) 'Result 1', POWER(0, 20) 'Result 2', POWER(0, 300) 'Result 3';
Wynik:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
I zero dla drugiego argumentu:
SELECT POWER(3, 0) 'Result 1', POWER(20, 0) 'Result 2', POWER(300, 0) 'Result 3';
Wynik:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Przykład 4 – Podanie w 1
Przekazywanie wartości 1 dla pierwszego argumentu.
SELECT POWER(1, 3) 'Result 1', POWER(1, 30) 'Result 2', POWER(1, 300) 'Result 3';
Wynik:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
I 1 dla drugiego argumentu:
SELECT POWER(3, 1) 'Result 1', POWER(30, 1) 'Result 2', POWER(300, 1) 'Result 3';
Wynik:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 3 | 30 | 300 | +------------+------------+------------+
Przykład 5 – Wyrażenia
Możesz również przekazywać wyrażenia takie jak:
SELECT POWER(5*2, 2) Result;
Wynik:
+----------+ | Result | |----------| | 100 | +----------+
To w rzeczywistości to samo, co zrobienie tego:
SELECT POWER(10, 2) Result;
Wynik:
+----------+ | Result | |----------| | 100 | +----------+
LOG10()
Transact-SQL ma również funkcję LOG10()
funkcja, która jest odwrotnie powiązana z POWER()
.