sql >> Database teknologi >  >> RDS >> MariaDB

Hvordan POW() virker i MariaDB

I MariaDB, POW() er en indbygget funktion, der returnerer værdien af ​​dets første argument hævet til styrken af dets andet argument.

Syntaks

Syntaksen ser sådan ud:

POW(X,Y)

Det returnerer X hævet til Y .

POWER() funktion er et synonym til POW() , så det kan også gøres sådan her:

POWER(X,Y)

Eksempel

Her er et eksempel til demonstration:

SELECT POW(2, 3);

Resultat:

+-----------+
| POW(2, 3) |
+-----------+
|         8 |
+-----------+

Negative værdier

Her er nogle eksempler, der bruger negative værdier:

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 |
+------------+------------+-------------+

Ikke-numeriske argumenter

Her er et eksempel på, hvad der sker, når vi giver ikke-numeriske argumenter:

SELECT POW('Homer', 'Symptom');

Resultat:

+-------------------------+
| POW('Homer', 'Symptom') |
+-------------------------+
|                       1 |
+-------------------------+
1 row in set, 2 warnings (0.000 sec)

Lad os se advarslen:

SHOW WARNINGS;

Resultat:

+---------+------+---------------------------------------------+
| Level   | Code | Message                                     |
+---------+------+---------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer'   |
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' |
+---------+------+---------------------------------------------+

Nul-argumenter

POW() returnerer null hvis et argument er null :

SELECT 
    POW(2, null),
    POW(null, 3),
    POW(null, null);

Resultat:

+--------------+--------------+-----------------+
| POW(2, null) | POW(null, 3) | POW(null, null) |
+--------------+--------------+-----------------+
|         NULL |         NULL |            NULL |
+--------------+--------------+-----------------+

Manglende argumenter

Kalder POW() med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:

SELECT POW();

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'POW'

Og:

SELECT POW(10, 2, 3);

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'POW'

  1. Hvorfor kan jeg ikke bruge kolonnealiaser i det næste SELECT-udtryk?

  2. Hvorfor nedsætter MYSQL højere LIMIT offset forespørgslen?

  3. Sådan fungerer POSITION() i PostgreSQL

  4. Sådan fungerer SUBSTR()-funktionen i MySQL