В MariaDB, POW()
е вградена функция, която връща стойността на първия си аргумент, повдигната до степента на втория й аргумент.
Синтаксис
Синтаксисът е така:
POW(X,Y)
Връща X
повдигнат до степен на Y
.
POWER()
функцията е синоним на POW()
, така че може да се направи и така:
POWER(X,Y)
Пример
Ето пример за демонстрация:
SELECT POW(2, 3);
Резултат:
+-----------+ | POW(2, 3) | +-----------+ | 8 | +-----------+
Отрицателни стойности
Ето няколко примера, които използват отрицателни стойности:
SELECT
POW(-2, 3),
POW(2, -3),
POW(-2, -3);
Резултат:
+------------+------------+-------------+ | POW(-2, 3) | POW(2, -3) | POW(-2, -3) | +------------+------------+-------------+ | -8 | 0.125 | -0.125 | +------------+------------+-------------+
Нечислови аргументи
Ето пример за това какво се случва, когато предоставим нечислови аргументи:
SELECT POW('Homer', 'Symptom');
Резултат:
+-------------------------+ | POW('Homer', 'Symptom') | +-------------------------+ | 1 | +-------------------------+ 1 row in set, 2 warnings (0.000 sec)
Нека видим предупреждението:
SHOW WARNINGS;
Резултат:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' | +---------+------+---------------------------------------------+
Нулеви аргументи
POW()
връща null
ако някой аргумент е null
:
SELECT
POW(2, null),
POW(null, 3),
POW(null, null);
Резултат:
+--------------+--------------+-----------------+ | POW(2, null) | POW(null, 3) | POW(null, null) | +--------------+--------------+-----------------+ | NULL | NULL | NULL | +--------------+--------------+-----------------+
Липсващи аргументи
Извикване на POW()
с грешен брой аргументи или без никакви аргументи води до грешка:
SELECT POW();
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'POW'
И:
SELECT POW(10, 2, 3);
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'POW'