В SQL Server, T-SQL POWER()
функцията е математическа функция, която връща стойността на посочения израз в определена степен.
Функцията приема два аргумента; първият определя израза, вторият определя силата, с която да се повдигне този израз.
Връщаната стойност е от същия тип данни като първия аргумент.
Синтаксис
Синтаксисът е така:
POWER ( float_expression , y )
Където float_expression е израз на тип float или на тип, който може да бъде имплицитно преобразуван в float, и y е силата, с която се повишава float_expression .
y може да бъде израз на точната числова или приблизителна категория числови тип данни, с изключение на битовия тип данни.
Пример 1 – Основна употреба
Ето основен пример, за да демонстрирате как работи тази функция.
SELECT POWER(2, 3) Result;
Резултат:
+----------+ | Result | |----------| | 8 | +----------+
Пример 2 – Отрицателна стойност
Ето пример за предаване на отрицателна стойност за първия аргумент.
SELECT POWER(-2, 3) 'Result 1', POWER(-20, 3) 'Result 2', POWER(-2, 30) 'Result 3';
Резултат:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | -8 | -8000 | 1073741824 | +------------+------------+------------+
И ето отрицателна стойност за втория аргумент:
SELECT POWER(2, -3) 'Result 1', POWER(20, -20) 'Result 2', POWER(200, -300) 'Result 3';
Резултат:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
След това и двата аргумента са отрицателни:
SELECT POWER(-2, -3) 'Result 1', POWER(-20, -20) 'Result 2', POWER(-200, -300) 'Result 3';
Резултат:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Пример 3 – нула
Ето пример за предаване на нула като първи аргумент.
SELECT POWER(0, 3) 'Result 1', POWER(0, 20) 'Result 2', POWER(0, 300) 'Result 3';
Резултат:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
И нула за втория аргумент:
SELECT POWER(3, 0) 'Result 1', POWER(20, 0) 'Result 2', POWER(300, 0) 'Result 3';
Резултат:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Пример 4 – Предаване в 1
Предаване на стойност 1 за първия аргумент.
SELECT POWER(1, 3) 'Result 1', POWER(1, 30) 'Result 2', POWER(1, 300) 'Result 3';
Резултат:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
И 1 за втория аргумент:
SELECT POWER(3, 1) 'Result 1', POWER(30, 1) 'Result 2', POWER(300, 1) 'Result 3';
Резултат:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 3 | 30 | 300 | +------------+------------+------------+
Пример 5 – Изрази
Можете също да предавате изрази като този:
SELECT POWER(5*2, 2) Result;
Резултат:
+----------+ | Result | |----------| | 100 | +----------+
Това всъщност е същото като да направите това:
SELECT POWER(10, 2) Result;
Резултат:
+----------+ | Result | |----------| | 100 | +----------+
LOG10()
Transact-SQL също има LOG10()
функция, която е обратно свързана с POWER()
.