Tính lũy thừa (Power) trong MySQL với hàm POWER()
Hàm POWER(x, y) (hoặc POW(x, y)) tính xy (x mũ y). Trả về kiểu DOUBLE.
Cú pháp
POWER(base, exponent) -- hoặc POW(base, exponent)
Ví dụ minh họa
Tạo bảng DemoTable:
mysql> CREATE TABLE DemoTable (Amount INT); Query OK, 0 rows affected (0.89 sec)
Chèn dữ liệu:
mysql> INSERT INTO DemoTable VALUES(64); Query OK, 1 row affected (0.17 sec) mysql> INSERT INTO DemoTable VALUES(144); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO DemoTable VALUES(400); Query OK, 1 row affected (0.13 sec)
Xem dữ liệu:
mysql> SELECT * FROM DemoTable;
+--------+ | Amount | +--------+ | 64 | | 144 | | 400 | +--------+ 3 rows in set (0.00 sec)
Tính bình phương (Amount2):
mysql> SELECT Amount, POWER(Amount, 2) AS CURRENT_AMOUNT FROM DemoTable;
Kết quả:
+--------+----------------+ | Amount | CURRENT_AMOUNT | +--------+----------------+ | 64 | 4096 | | 144 | 20736 | | 400 | 160000 | +--------+----------------+ 3 rows in set (0.04 sec)
Các ví dụ khác
| Biểu thức | Ý nghĩa | Ví dụ |
|---|---|---|
POWER(2, 10) | 210 | 1024 |
POWER(5, 3) | 53 | 125 |
POWER(10, -2) | 10-2 | 0.01 |
POWER(4, 0.5) | Căn bậc 2 của 4 | 2 |
POWER(27, 1/3) | Căn bậc 3 của 27 | 3 |
POWER(Amount, 1/2) | Căn bậc 2 của Amount | SQRT(Amount) |
Hàm liên quan
- SQRT(x): Căn bậc 2 (tương đương
POWER(x, 0.5)) - EXP(x): ex
- LN(x) / LOG(x): Logarit tự nhiên
- LOG10(x): Logarit cơ số 10
- LOG2(x): Logarit cơ số 2
Lưu ý
- Kết quả luôn là
DOUBLE(số thực dấu phẩy động) - Với số nguyên lớn, có thể bị tràn hoặc mất độ chính xác → cân nhắc
DECIMALhoặc xử lý ở application layer POWER(0, 0)trả về 1 (theo quy ước MySQL)- Cơ số âm với số mũ không nguyên → trả về NULL (số phức)