Các hàm hữu ích trong MariaDB
MariaDB, một hệ quản trị cơ sở dữ liệu mã nguồn mở mạnh mẽ, cung cấp nhiều hàm tích hợp sẵn để hỗ trợ các thao tác xử lý dữ liệu một cách nhanh chóng và hiệu quả. Những hàm này không chỉ giúp đơn giản hóa các truy vấn mà còn mang lại sự linh hoạt trong việc phân tích và quản lý dữ liệu. Trong chương này, mình sẽ giới thiệu danh sách các hàm được sử dụng phổ biến nhất trong MariaDB, kèm theo định nghĩa, giải thích và ví dụ minh họa chi tiết, giúp bạn dễ dàng ứng dụng chúng vào các tình huống thực tế trong công việc.
Hàm tổng hợp (Aggregate Functions) trong MariaDB
Các hàm tổng hợp thường được sử dụng bao gồm:
STT | Tên Hàm | Mô Tả | Ví Dụ |
---|---|---|---|
1 | COUNT | Đếm số lượng bản ghi. | SELECT COUNT(*) FROM customer_table; |
2 | MIN | Trả về giá trị nhỏ nhất trong tập bản ghi. | SELECT organization, MIN(account) FROM contracts GROUP BY organization; |
3 | MAX | Trả về giá trị lớn nhất trong tập bản ghi. | SELECT organization, MAX(account_size) FROM contracts GROUP BY organization; |
4 | AVG | Tính giá trị trung bình của tập bản ghi. | SELECT AVG(account_size) FROM contracts; |
5 | SUM | Tính tổng giá trị của tập bản ghi. | SELECT SUM(account_size) FROM contracts; |
Tính toán tuổi (Age Calculation) trong MariaDB
Hàm TIMESTAMPDIFF trong MariaDB giúp tính toán tuổi dựa trên ngày sinh.
Ví dụ:
SELECT CURDATE() AS today; -- Lấy ngày hiện tại SELECT ID, DOB, TIMESTAMPDIFF(YEAR, DOB, '2015-07-01') AS age FROM officer_info;
Nối chuỗi (String Concatenation) trong MariaDB
Hàm CONCAT trả về chuỗi sau khi thực hiện nối các chuỗi lại với nhau.
Bài viết này được đăng tại [free tuts .net]
Cú pháp:
SELECT CONCAT(item1, item2, ...);
Ví dụ:
SELECT CONCAT('Ram', 'bu', 'tan'); -- Kết quả: Rambutan
Hàm làm việc với ngày/giờ (Date/Time Functions) trong MariaDB
MariaDB cung cấp các hàm làm việc với ngày và giờ như sau:
STT | Tên Hàm | Mô Tả | Ví Dụ |
---|---|---|---|
1 | CURDATE() | Trả về ngày hiện tại với định dạng yyyy-mm-dd . |
SELECT CURDATE(); |
2 | DATE() | Trả về ngày trong nhiều định dạng khác nhau. | CREATE TABLE product_release_tbl (x DATE); |
3 | CURTIME() | Trả về giờ hiện tại với định dạng HH:MM:SS . |
SELECT CURTIME(); |
4 | DATE_SUB() | Cộng hoặc trừ số ngày từ một ngày chỉ định. | SELECT DATE_SUB('2016-02-08', INTERVAL 60 DAY); |
5 | DATEDIFF() | Tính số ngày giữa hai ngày. | SELECT DATEDIFF('2016-01-01', '2016-01-03'); |
6 | DATE_ADD() | Cộng hoặc trừ đơn vị thời gian từ ngày hoặc giờ chỉ định. | SELECT DATE_ADD('2016-01-04 23:59:59', INTERVAL 22 SECOND); |
7 | EXTRACT() | Trích xuất một đơn vị thời gian từ ngày. | SELECT EXTRACT(YEAR FROM '2016-01-08'); |
8 | NOW() | Trả về ngày giờ hiện tại với định dạng yyyy-mm-dd hh:mm:ss . |
SELECT NOW(); |
9 | DATE_FORMAT() | Định dạng ngày theo chuỗi mẫu cho trước. | SELECT DATE_FORMAT('2016-01-09 20:20:00', '%W %M %Y'); |
Hàm số học (Numeric Functions) trong MariaDB
Dưới đây là một số hàm số học quan trọng:
STT | Tên Hàm | Mô Tả | Ví Dụ |
---|---|---|---|
1 | TRUNCATE() | Trả về số được làm tròn đến vị trí thập phân chỉ định. | SELECT TRUNCATE(101.222, 1); |
2 | COS() | Tính cos của góc (tính bằng radian). | SELECT COS(PI()); |
3 | CEILING() | Trả về số nguyên nhỏ nhất không nhỏ hơn giá trị ban đầu. | SELECT CEILING(2.11); |
4 | DEGREES() | Chuyển đổi giá trị từ radian sang độ. | SELECT DEGREES(PI()); |
5 | EXP() | Tính e^x với e là cơ số của logarithm tự nhiên. |
SELECT EXP(2); |
6 | FLOOR() | Trả về số nguyên lớn nhất không lớn hơn giá trị ban đầu. | SELECT FLOOR(2.01); |
7 | LN() | Tính logarithm tự nhiên của số. | SELECT LN(3); |
8 | SQRT() | Tính căn bậc hai. | SELECT SQRT(16); |
Hàm làm việc với chuỗi (String Functions) trong MariaDB
Dưới đây là các hàm thao tác chuỗi trong MariaDB:
STT | Tên Hàm | Mô Tả | Ví Dụ |
---|---|---|---|
1 | LENGTH() | Trả về độ dài chuỗi (tính theo byte). | SELECT LENGTH('rambutan'); |
2 | UPPER() | Chuyển chuỗi thành chữ in hoa. | SELECT UPPER(lastname); |
3 | LOWER() | Chuyển chuỗi thành chữ thường. | SELECT LOWER(lastname); |
4 | REPLACE() | Thay thế một phần của chuỗi bằng chuỗi khác. | SELECT REPLACE('sully', 'l', 'n'); |
5 | SUBSTRING() | Trích xuất một chuỗi con từ chuỗi gốc, bắt đầu tại vị trí chỉ định. | SELECT SUBSTRING('rambutan', 3); |
6 | TRIM() | Loại bỏ ký tự thừa ở đầu hoặc cuối chuỗi. | SELECT TRIM(LEADING '_' FROM '_rambutan'); |
Kết bài