I MariaDB, POW()
är en inbyggd funktion som returnerar värdet av dess första argument upphöjt till kraften av det andra argumentet.
Syntax
Syntaxen ser ut så här:
POW(X,Y)
Den returnerar X
upphöjd till Y
.
POWER()
funktion är en synonym till POW()
, så det kan också göras så här:
POWER(X,Y)
Exempel
Här är ett exempel att visa:
SELECT POW(2, 3);
Resultat:
+-----------+ | POW(2, 3) | +-----------+ | 8 | +-----------+
Negativa värden
Här är några exempel som använder negativa värden:
SELECT
POW(-2, 3),
POW(2, -3),
POW(-2, -3);
Resultat:
+------------+------------+-------------+ | POW(-2, 3) | POW(2, -3) | POW(-2, -3) | +------------+------------+-------------+ | -8 | 0.125 | -0.125 | +------------+------------+-------------+
Icke-numeriska argument
Här är ett exempel på vad som händer när vi tillhandahåller icke-numeriska argument:
SELECT POW('Homer', 'Symptom');
Resultat:
+-------------------------+ | POW('Homer', 'Symptom') | +-------------------------+ | 1 | +-------------------------+ 1 row in set, 2 warnings (0.000 sec)
Låt oss se varningen:
SHOW WARNINGS;
Resultat:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' | +---------+------+---------------------------------------------+
Nollargument
POW()
returnerar null
om något argument är null
:
SELECT
POW(2, null),
POW(null, 3),
POW(null, null);
Resultat:
+--------------+--------------+-----------------+ | POW(2, null) | POW(null, 3) | POW(null, null) | +--------------+--------------+-----------------+ | NULL | NULL | NULL | +--------------+--------------+-----------------+
Argument saknas
Anropar POW()
med fel antal argument, eller utan några argument resulterar i ett fel:
SELECT POW();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'POW'
Och:
SELECT POW(10, 2, 3);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'POW'