No MariaDB,
POW()
é uma função integrada que retorna o valor do primeiro argumento elevado à potência do segundo argumento. Sintaxe
A sintaxe fica assim:
POW(X,Y)
Ele retorna
X
elevado à potência de Y
. O
POWER()
função é sinônimo de POW()
, então também pode ser feito assim:POWER(X,Y)
Exemplo
Segue um exemplo para demonstrar:
SELECT POW(2, 3);
Resultado:
+-----------+ | POW(2, 3) | +-----------+ | 8 | +-----------+
Valores negativos
Aqui estão alguns exemplos que usam valores negativos:
SELECT
POW(-2, 3),
POW(2, -3),
POW(-2, -3);
Resultado:
+------------+------------+-------------+ | POW(-2, 3) | POW(2, -3) | POW(-2, -3) | +------------+------------+-------------+ | -8 | 0.125 | -0.125 | +------------+------------+-------------+
Argumentos não numéricos
Aqui está um exemplo do que acontece quando fornecemos argumentos não numéricos:
SELECT POW('Homer', 'Symptom');
Resultado:
+-------------------------+ | POW('Homer', 'Symptom') | +-------------------------+ | 1 | +-------------------------+ 1 row in set, 2 warnings (0.000 sec)
Vejamos o aviso:
SHOW WARNINGS;
Resultado:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' | +---------+------+---------------------------------------------+
Argumentos nulos
POW()
retorna null
se algum argumento for null
:SELECT
POW(2, null),
POW(null, 3),
POW(null, null);
Resultado:
+--------------+--------------+-----------------+ | POW(2, null) | POW(null, 3) | POW(null, null) | +--------------+--------------+-----------------+ | NULL | NULL | NULL | +--------------+--------------+-----------------+
Argumentos ausentes
Chamando
POW()
com o número errado de argumentos ou sem argumentos resulta em um erro:SELECT POW();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'POW'
E:
SELECT POW(10, 2, 3);
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'POW'