×

Lấy ngày trong tháng với hàm DAYOFMONTH() trong MySQL

Trong lĩnh vực cơ sở dữ liệu, đặc biệt khi làm việc với MySQL, việc trích xuất ngày từ một cột chứa dữ liệu ngày tháng là một nhiệm vụ phổ biến. MySQL cung cấp nhiều hàm để xử lý dữ liệu ngày tháng, và một trong những hàm đó là DAYOFMONTH().

Hàm DAYOFMONTH() là gì?

DAYOFMONTH() là một hàm được sử dụng để lấy giá trị ngày trong tháng từ một giá trị ngày tháng (datetime) cụ thể. Kết quả trả về là một số nguyên nằm trong khoảng từ 1 đến 31, tương ứng với ngày trong tháng của giá trị ngày tháng đầu vào.

Cách sử dụng

Cú pháp của hàm DAYOFMONTH() trong MySQL rất đơn giản:

DAYOFMONTH(date)

Trong đó, date là giá trị ngày tháng mà bạn muốn trích xuất ngày.

Ví dụ cụ thể

Giả sử bạn có một bảng tên là orders với cột order_date chứa ngày đặt hàng. Bạn muốn biết ngày trong tháng của mỗi đơn hàng. Bạn có thể sử dụng hàm DAYOFMONTH() như sau:

SELECT order_id, order_date, DAYOFMONTH(order_date) AS day_of_month
FROM orders;

Kết quả của truy vấn này sẽ bao gồm các cột order_id, order_dateday_of_month, trong đó day_of_month là ngày trong tháng của từng giá trị order_date.

Ứng dụng thực tế

Hàm DAYOFMONTH() có thể được sử dụng trong nhiều tình huống khác nhau:

  1. Báo cáo hàng ngày: Khi cần tạo báo cáo hàng ngày và chỉ quan tâm đến ngày trong tháng.
  2. Phân tích dữ liệu: Trong các phân tích dữ liệu, biết được ngày cụ thể có thể giúp phát hiện các xu hướng hay mùa vụ.
  3. Kiểm tra điều kiện: Ví dụ, bạn muốn lọc ra tất cả các giao dịch diễn ra vào một ngày cụ thể trong tháng.
SELECT *
FROM orders
WHERE DAYOFMONTH(order_date) = 15;

Truy vấn trên sẽ trả lại tất cả các đơn hàng được đặt vào ngày 15 của bất kỳ tháng nào.

Lưu ý khi sử dụng

  • Định dạng đúng: Cột chứa giá trị ngày tháng phải có định dạng ngày tháng hợp lệ (DATE, DATETIME, TIMESTAMP). Nếu không, hàm sẽ trả về NULL.
  • Kết hợp với các hàm khác: Bạn có thể kết hợp DAYOFMONTH() với các hàm khác của MySQL để thực hiện các truy vấn phức tạp hơn. Ví dụ, sử dụng chung với hàm MONTH() hoặc YEAR() để trích xuất và so sánh năm và tháng.
SELECT order_id
FROM orders
WHERE MONTH(order_date) = 12 AND DAYOFMONTH(order_date) = 25;

Truy vấn này sẽ tìm tất cả các đơn hàng được đặt vào ngày Giáng Sinh.

Khả năng xử lý và trích xuất thông tin trong các bảng dữ liệu là một kỹ năng quan trọng trong bất kỳ hệ thống quản lý cơ sở dữ liệu nào. Hàm DAYOFMONTH() không chỉ đơn giản và dễ sử dụng mà còn cực kỳ hữu ích trong nhiều tình huống thực tế. Hãy thử áp dụng nó vào các bài toán thực tế của bạn để đạt được hiệu quả cao nhất.

Comments