Khi làm việc với cơ sở dữ liệu, việc thực hiện các phép toán và tính toán trực tiếp trong MySQL là một yếu tố quan trọng giúp bạn xử lý và phân tích dữ liệu một cách hiệu quả. MySQL cung cấp một bộ công cụ phong phú với các hàm toán học mạnh mẽ, cho phép bạn thực hiện các phép toán cơ bản và nâng cao một cách nhanh chóng và chính xác. Từ việc tính toán giá trị tuyệt đối, làm tròn số, đến việc xử lý các phép toán phức tạp như căn bậc hai hay hàm mũ, các hàm toán học trong MySQL giúp bạn tối ưu hóa quy trình phân tích dữ liệu và tạo ra những báo cáo chính xác.

Trong bài viết này, chúng ta sẽ cùng khám phá các hàm toán học phổ biến và ứng dụng của chúng trong MySQL. Bạn sẽ được hướng dẫn chi tiết về cách sử dụng các hàm như ABS(), CEIL(), ROUND(), và nhiều hàm khác, với các ví dụ minh họa rõ ràng để dễ dàng áp dụng vào các bài toán thực tế. Dù bạn đang tìm cách thực hiện các phép toán cơ bản hay cần xử lý các phép toán phức tạp hơn, bài viết này sẽ cung cấp cho bạn những kiến thức và công cụ cần thiết để làm việc với dữ liệu một cách hiệu quả và chính xác.

MySQL cung cấp nhiều hàm toán học hữu ích để thực hiện các phép toán phức tạp và tính toán trực tiếp trong cơ sở dữ liệu. Dưới đây là hướng dẫn chi tiết về các hàm toán học cơ bản và nâng cao trong MySQL, cùng với ví dụ minh họa rõ ràng.

1. Hàm ABS()

Hàm ABS() trả về giá trị tuyệt đối của một số. Điều này có nghĩa là nó sẽ loại bỏ dấu âm nếu có.

Cú pháp:

ABS(number)

Ví dụ:

SELECT ABS(-10) AS absolute_value;
-- Kết quả: 10

Giải thích:

  • ABS(-10) trả về 10, vì giá trị tuyệt đối của -1010.

2. Hàm CEIL()

Hàm CEIL() (hoặc CEILING()) làm tròn một số lên tới số nguyên gần nhất.

Cú pháp:

CEIL(number)

Ví dụ:

SELECT CEIL(4.2) AS rounded_up;
-- Kết quả: 5

Giải thích:

  • CEIL(4.2) trả về 5, vì nó làm tròn số 4.2 lên thành số nguyên gần nhất.

3. Hàm FLOOR()

Hàm FLOOR() làm tròn một số xuống tới số nguyên gần nhất.

Cú pháp:

FLOOR(number)

Ví dụ:

SELECT FLOOR(4.7) AS rounded_down;
-- Kết quả: 4

Giải thích:

  • FLOOR(4.7) trả về 4, vì nó làm tròn số 4.7 xuống thành số nguyên gần nhất.

4. Hàm ROUND()

Hàm ROUND() làm tròn một số đến số chữ số thập phân cụ thể. Nếu số chữ số thập phân không được chỉ định, nó sẽ làm tròn đến số nguyên gần nhất.

Cú pháp:

ROUND(number, decimals)

Ví dụ:

SELECT ROUND(4.5678, 2) AS rounded_number;
-- Kết quả: 4.57

Giải thích:

  • ROUND(4.5678, 2) làm tròn số 4.5678 đến 2 chữ số thập phân, trả về 4.57.

5. Hàm POW() hoặc POWER()

Hàm POW() hoặc POWER() trả về số được nâng lên lũy thừa của số mũ.

Cú pháp:

POW(base, exponent)
-- Hoặc
POWER(base, exponent)

Ví dụ:

SELECT POW(2, 3) AS power_result;
-- Kết quả: 8

Giải thích:

  • POW(2, 3) hoặc POWER(2, 3) trả về 8, vì 2 nâng lên lũy thừa 38.

6. Hàm SQRT()

Hàm SQRT() trả về căn bậc hai của một số.

Cú pháp:

SQRT(number)

Ví dụ:

SELECT SQRT(16) AS square_root;
-- Kết quả: 4

Giải thích:

  • SQRT(16) trả về 4, vì căn bậc hai của 164.

7. Hàm RAND()

Hàm RAND() trả về một số ngẫu nhiên trong khoảng từ 0 đến 1.

Cú pháp:

RAND()

Ví dụ:

SELECT RAND() AS random_number;
-- Kết quả: Một số ngẫu nhiên, ví dụ: 0.123456789

Giải thích:

  • RAND() tạo ra một số ngẫu nhiên giữa 01.

8. Hàm EXP()

Hàm EXP() trả về số mũ của số e (hằng số Euler).

Cú pháp:

EXP(number)

Ví dụ:

SELECT EXP(1) AS exp_result;
-- Kết quả: 2.718281828459045

Giải thích:

  • EXP(1) trả về giá trị của e^1, là 2.718281828459045.

9. Hàm LOG()

Hàm LOG() trả về logarithm tự nhiên (căn bậc e) của một số. Hàm LOG(base, number) trả về logarithm cơ số base của number.

Cú pháp:

LOG(number)
-- Hoặc
LOG(base, number)

Ví dụ:

SELECT LOG(10) AS natural_log;
-- Kết quả: 2.302585092994046

Giải thích:

  • LOG(10) trả về logarithm tự nhiên của 10.

10. Hàm MOD()

Hàm MOD() trả về phần dư của phép chia giữa hai số.

Cú pháp:

MOD(dividend, divisor)

Ví dụ:

SELECT MOD(10, 3) AS remainder;
-- Kết quả: 1

Giải thích:

  • MOD(10, 3) trả về 1, vì 10 chia cho 3 còn dư 1.

11. Hàm DEGREES()RADIANS()

Hàm DEGREES() chuyển đổi giá trị góc từ radians sang độ. Hàm RADIANS() làm điều ngược lại.

Cú pháp:

DEGREES(radians)
-- Hoặc
RADIANS(degrees)

Ví dụ:

SELECT DEGREES(PI()) AS degrees_value;
-- Kết quả: 180

SELECT RADIANS(180) AS radians_value;
-- Kết quả: 3.141592653589793

Giải thích:

  • DEGREES(PI()) trả về 180, vì π radians tương đương với 180 độ.
  • RADIANS(180) trả về giá trị tương ứng trong radians của 180 độ, là 3.141592653589793.

Những hàm toán học này giúp bạn thực hiện các phép toán phức tạp và tính toán trực tiếp trong MySQL, cải thiện khả năng xử lý dữ liệu và phân tích trong cơ sở dữ liệu.