×

Lấy ngày hiện tại với CURRENT_DATE trong MySQL

Trong MySQL, việc lấy ngày hiện tại là một thao tác phổ biến thường được áp dụng trong nhiều ứng dụng quản lý cơ sở dữ liệu. Cách thông dụng nhất để thực hiện điều này là sử dụng từ khóa CURRENT_DATE. Bài viết dưới đây sẽ giới thiệu chi tiết về cách sử dụng CURRENT_DATE và cung cấp những ví dụ cụ thể.

Khái niệm và cách sử dụng

CURRENT_DATE là một từ khóa trong MySQL cung cấp thông tin về ngày hiện tại của hệ thống (bao gồm năm, tháng, ngày). Nó đặc biệt hữu ích khi bạn cần lưu trữ hoặc đối chiếu ngày hiện tại trong các trường hợp như: tạo bản ghi mới với thông tin ngày tháng, kiểm tra ngày sinh nhật của người dùng hoặc xác định các bản ghi theo thời gian.

Cú pháp cơ bản

Để lấy giá trị ngày hiện tại, bạn có thể sử dụng lệnh sau trong MySQL:

SELECT CURRENT_DATE;

Lệnh này sẽ trả về giá trị ngày hiện tại dưới định dạng YYYY-MM-DD.

Các trường hợp sử dụng

1. Tạo bản ghi mới với ngày hiện tại

Khi tạo bản ghi mới trong một bảng, có đôi khi bạn cần lưu luôn thông tin về ngày tạo. Ví dụ:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    created_date DATE DEFAULT CURRENT_DATE
);

INSERT INTO users (username) VALUES ('john_doe');

Trong ví dụ trên, khi thêm một bản ghi mới vào bảng users, cột created_date sẽ tự động lấy giá trị ngày hiện tại.

2. Truy vấn các bản ghi theo ngày hiện tại

Giả sử bạn có một bảng chứa thông tin về các đơn hàng và bạn muốn truy vấn các đơn hàng được tạo trong ngày hôm nay:

SELECT * FROM orders WHERE order_date = CURRENT_DATE;

Lệnh này sẽ trả về tất cả các bản ghi có cột order_date trùng khớp với ngày hiện tại.

3. Sử dụng trong các hàm tính toán

Ngoài việc lấy giá trị ngày hiện tại, CURRENT_DATE còn có thể sử dụng trong các phép toán thời gian, ví dụ:

SELECT DATE_ADD(CURRENT_DATE, INTERVAL 7 DAY) AS next_week;

Lệnh trên sẽ trả về ngày cách ngày hiện tại 7 ngày, còn gọi là tuần tới.

Kết hợp với các hàm và biểu thức khác

MySQL cung cấp nhiều hàm và biểu thức thời gian phong phú, việc kết hợp chúng với CURRENT_DATE có thể giúp bạn giải quyết nhiều bài toán phức tạp. Một vài ví dụ bao gồm:

  • Lấy ngày đầu tiên của tháng hiện tại:
SELECT DATE_FORMAT(CURRENT_DATE, '%Y-%m-01');
  • Sử dụng trong các hệ thống báo cáo:
SELECT COUNT(*) FROM transactions WHERE DATE(transaction_date) = CURRENT_DATE;

Lệnh này giúp bạn đếm số giao dịch diễn ra trong ngày hiện tại.

Kết Luận

Việc sử dụng từ khóa CURRENT_DATE trong MySQL rất hữu ích và linh hoạt. Nó cung cấp một cách thuận tiện để lấy thông tin ngày hiện tại và có thể được sử dụng trong nhiều tình huống khác nhau từ việc tạo bản ghi mới, truy vấn dữ liệu đến việc thực hiện các phép toán thời gian. Điều này giúp bạn quản lý và xử lý dữ liệu một cách hiệu quả hơn, tối ưu hóa các thao tác và truy vấn trong cơ sở dữ liệu của mình.

Comments