MySQL-Functions

Trong MySQL, có nhiều hàm cơ bản và hữu ích mà bạn thường sử dụng trong các truy vấn để xử lý dữ liệu, tính toán, và chuyển đổi định dạng. Dưới đây là một số hàm cơ bản và phổ biến trong MySQL:

Hàm Tính Toán

  1. SUM()
  • Tính tổng giá trị của một cột.
   SELECT SUM(gia_tri) AS tong
   FROM ten_bang;
  1. AVG()
  • Tính giá trị trung bình của một cột.
   SELECT AVG(gia_tri) AS trung_binh
   FROM ten_bang;
  1. COUNT()
  • Đếm số lượng hàng trong một cột hoặc số lượng hàng thỏa mãn điều kiện.
   SELECT COUNT(*) AS so_luong
   FROM ten_bang;
  1. MIN()
  • Tìm giá trị nhỏ nhất trong một cột.
   SELECT MIN(gia_tri) AS gia_tri_nho_nhat
   FROM ten_bang;
  1. MAX()
  • Tìm giá trị lớn nhất trong một cột.
   SELECT MAX(gia_tri) AS gia_tri_lon_nhat
   FROM ten_bang;

Hàm Chuỗi

  1. CONCAT()
  • Kết hợp nhiều chuỗi thành một chuỗi.
   SELECT CONCAT(ho, ' ', ten) AS ho_ten
   FROM ten_bang;
  1. LENGTH()
  • Tính chiều dài của một chuỗi.
   SELECT LENGTH(chuoi) AS do_dai
   FROM ten_bang;
  1. SUBSTRING()
  • Trích xuất một phần của chuỗi.
   SELECT SUBSTRING(chuoi, 1, 5) AS phan_chuoi
   FROM ten_bang;
  1. REPLACE()
  • Thay thế một phần của chuỗi bằng một chuỗi khác.
   SELECT REPLACE(chuoi, 'cu', 'moi') AS chuoi_moi
   FROM ten_bang;
  1. TRIM()
  • Xóa khoảng trắng đầu và cuối chuỗi.
   SELECT TRIM(chuoi) AS chuoi_sach
   FROM ten_bang;

Hàm Ngày và Giờ

  1. NOW()
  • Trả về thời gian hiện tại.
   SELECT NOW() AS thoi_gian_hien_tai;
  1. CURDATE()
  • Trả về ngày hiện tại.
   SELECT CURDATE() AS ngay_hien_tai;
  1. DATE_FORMAT()
  • Định dạng ngày theo kiểu chỉ định.
   SELECT DATE_FORMAT(ngay, '%d-%m-%Y') AS ngay_dinh_dang
   FROM ten_bang;
  1. DATEDIFF()
  • Tính số ngày giữa hai ngày.
   SELECT DATEDIFF(ngay_ket_thuc, ngay_bat_dau) AS so_ngay
   FROM ten_bang;
  1. DATE_ADD()
  • Thêm khoảng thời gian vào ngày.
   SELECT DATE_ADD(ngay, INTERVAL 1 MONTH) AS ngay_moi
   FROM ten_bang;

Hàm Điều Kiện

  1. IF()
  • Thực hiện điều kiện và trả về giá trị tùy thuộc vào điều kiện.
   SELECT IF(diem >= 60, 'Pass', 'Fail') AS ket_qua
   FROM ten_bang;
  1. CASE
  • Thực hiện điều kiện phức tạp hơn và trả về các giá trị khác nhau.
   SELECT 
     CASE 
       WHEN diem >= 90 THEN 'A'
       WHEN diem >= 80 THEN 'B'
       WHEN diem >= 70 THEN 'C'
       ELSE 'D'
     END AS xep_loai
   FROM ten_bang;

Hàm Toán Học

  1. ROUND()
  • Làm tròn số đến số chữ số chỉ định.
   SELECT ROUND(gia_tri, 2) AS gia_tri_tron
   FROM ten_bang;
  1. FLOOR()
  • Làm tròn số xuống số nguyên gần nhất.
   SELECT FLOOR(gia_tri) AS gia_tri_lam_tron
   FROM ten_bang;
  1. CEIL()
  • Làm tròn số lên số nguyên gần nhất.
   SELECT CEIL(gia_tri) AS gia_tri_lam_tron
   FROM ten_bang;

Hàm Khác

  1. COALESCE()
  • Trả về giá trị không phải là NULL đầu tiên từ danh sách các giá trị.
   SELECT COALESCE(chuoi1, chuoi2, 'Mặc định') AS ket_qua
   FROM ten_bang;
  1. NULLIF()
  • Trả về NULL nếu hai giá trị bằng nhau, nếu không thì trả về giá trị đầu tiên.
   SELECT NULLIF(gia_tri1, gia_tri2) AS ket_qua
   FROM ten_bang;

Tóm tắt

Các hàm cơ bản trong MySQL rất hữu ích cho việc xử lý dữ liệu, tính toán, và định dạng kết quả trong các truy vấn SQL. Biết cách sử dụng các hàm này sẽ giúp bạn thực hiện các thao tác dữ liệu một cách hiệu quả và chính xác hơn.