×

Lấy giờ trong ngày với hàm HOUR() trong MySQL

Trong cơ sở dữ liệu MySQL, việc quản lý và thao tác với thời gian là một phần quan trọng của quá trình làm việc với dữ liệu. Khi cần truy xuất giờ từ một giá trị thời gian, hàm HOUR() được sử dụng để lấy phần giờ của một giá trị thời gian cụ thể. Bài viết này sẽ hướng dẫn cách sử dụng hàm này một cách chi tiết và cung cấp ví dụ minh họa để bạn dễ dàng áp dụng trong thực tế.

Cú pháp của hàm

Cú pháp cơ bản của hàm HOUR() trong MySQL như sau:

HOUR(NOW());

Hàm này sẽ trả về một giá trị số nguyên từ 0 đến 23, đại diện cho giờ của một giá trị thời gian mà bạn đã cung cấp.

Sử dụng hàm HOUR() với các giá trị thời gian khác nhau

Hàm HOUR() có thể được sử dụng với các cột có kiểu dữ liệu khác nhau, như kiểu DATETIME, TIME, và TIMESTAMP.

Ví dụ cơ bản

Lấy giờ hiện tại

Để lấy giờ hiện tại từ hệ thống MySQL server, bạn có thể sử dụng hàm NOW() cùng với hàm HOUR():

SELECT HOUR(NOW()) AS current_hour;

Kết quả trả về sẽ là giờ hiện tại tại thời điểm truy vấn.

Truy xuất giờ từ cột kiểu DATETIME

Giả sử bạn có một bảng orders với cột order_time kiểu dữ liệu DATETIME. Bạn có thể truy xuất giờ từ thời điểm đặt hàng trong bảng này như sau:

SELECT order_id, HOUR(order_time) AS order_hour
FROM orders;

Kết quả trả về sẽ bao gồm ID của đơn hàng và giờ mà đơn hàng đó được đặt.

Ứng dụng thực tế

Tính số đơn hàng theo giờ

Giả sử bạn muốn tính số lượng đơn hàng được đặt theo từng giờ trong ngày để phân tích xu hướng mua sắm của khách hàng, bạn có thể sử dụng hàm HOUR() trong câu truy vấn GROUP BY như sau:

SELECT HOUR(order_time) AS order_hour, COUNT(*) AS order_count
FROM orders
GROUP BY order_hour
ORDER BY order_hour;

Kết quả trả về sẽ hiển thị số lượng đơn hàng được đặt trong từng giờ của ngày.

Lọc dữ liệu theo giờ cụ thể

Nếu bạn chỉ muốn lấy các đơn hàng được đặt trong một giờ cụ thể, ví dụ như từ 14:00 đến 14:59, bạn có thể sử dụng hàm HOUR() trong điều kiện WHERE:

SELECT order_id, order_time
FROM orders
WHERE HOUR(order_time) = 14;

Kết quả truy vấn sẽ bao gồm các đơn hàng được đặt trong giờ thứ 14.

Kết hợp với các hàm khác

Hàm HOUR() có thể kết hợp với các hàm khác trong MySQL để thực hiện các tác vụ phức tạp hơn. Ví dụ, bạn có thể kết hợp với hàm MINUTE() và SECOND() để lấy chi tiết thời gian hơn:

SELECT order_id, order_time,
       HOUR(order_time) AS order_hour,
       MINUTE(order_time) AS order_minute,
       SECOND(order_time) AS order_second
FROM orders;

Kết quả sẽ cung cấp thông tin chi tiết hơn về thời gian đặt hàng của từng đơn đặt hàng.

Lưu ý

  • Kết quả của hàm HOUR() là integer nằm trong khoảng từ 0 đến 23.
  • Nếu giá trị thời gian là NULL, hàm sẽ trả về NULL.

Với sự hỗ trợ thiết thực của hàm HOUR() trong MySQL, bạn có thể dễ dàng quản lý và phân tích dữ liệu liên quan đến thời gian trong ứng dụng của mình. Hy vọng qua bài viết này, bạn đã có cái nhìn rõ ràng về cách sử dụng hàm này và có thể áp dụng một cách hiệu quả trong công việc của mình.

Comments