Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: ยกกำลังใช้ POW() หรือ POWER() ไม่ใช่ ^ (ซึ่งเป็น Bitwise XOR)


คำอธิบาย

ใน MySQL ^ คือ Bitwise XOR ไม่ใช่ยกกำลัง ต้องใช้ POW() หรือ POWER() แทน

ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง

mysql> create table DemoTable ( 
    BaseValue int, 
    PowerValue float ); 
Query OK, 0 rows affected (0.48 sec)

การเพิ่มข้อมูล

mysql> insert into DemoTable values(4, 1.9867); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(10, 6.789); 
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(20, 8.9); 
Query OK, 1 row affected (0.14 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;

ผลลัพธ์:

+-----------+------------+
| BaseValue | PowerValue |
+-----------+------------+
| 4         | 1.9867     |
| 10        | 6.789      |
| 20        | 8.9        |
+-----------+------------+
3 rows in set (0.00 sec)

คิวรี่คำนวณยกกำลัง

mysql> select power(BaseValue, PowerValue) AS Result from DemoTable;

ผลลัพธ์

+--------------------+
| Result             |
+--------------------+
| 15.707700779637127 |
| 6151769.213414385  |
| 379460404302.3042  |
+--------------------+
3 rows in set (0.00 sec)

คำอธิบาย

  • POWER(4, 1.9867) ≈ 15.71
  • POWER(10, 6.789) ≈ 6,151,769
  • POWER(20, 8.9) ≈ 379,460,404,302
  • POW() และ POWER() ทำงานเหมือนกันทุกประการ

Bitwise XOR (^) ตัวอย่าง

SELECT 5 ^ 3;  -- 5=101, 3=011 → XOR=110=6
SELECT 10 ^ 6; -- 10=1010, 6=0110 → XOR=1100=12

ฟังก์ชันคณิตศาสตร์อื่นๆ ที่น่าสนใจ

  • SQRT(): รากที่ 2
  • EXP(): e^x
  • LOG(): ลอการิทึม
  • MOD(): Modulo (เศษ)