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
SUM()
- Tính tổng giá trị của một cột.
SELECT SUM(gia_tri) AS tong FROM ten_bang;
AVG()
- Tính giá trị trung bình của một cột.
SELECT AVG(gia_tri) AS trung_binh FROM ten_bang;
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;
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;
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
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;
LENGTH()
- Tính chiều dài của một chuỗi.
SELECT LENGTH(chuoi) AS do_dai FROM ten_bang;
SUBSTRING()
- Trích xuất một phần của chuỗi.
SELECT SUBSTRING(chuoi, 1, 5) AS phan_chuoi FROM ten_bang;
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;
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ờ
NOW()
- Trả về thời gian hiện tại.
SELECT NOW() AS thoi_gian_hien_tai;
CURDATE()
- Trả về ngày hiện tại.
SELECT CURDATE() AS ngay_hien_tai;
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;
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;
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
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;
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
ROUND()
- Làm tròn số đến số chữ số chỉ định.
SELECT ROUND(gia_tri, 2) AS gia_tri_tron FROM ten_bang;
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;
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
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;
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.