×

Định dạng ngày với hàm DATE_FORMAT() trong MySQL

Khi làm việc với dữ liệu ngày và giờ trong MySQL, việc định dạng ngày tháng theo một cách cụ thể có thể là một bước quan trọng để đảm bảo tính dễ đọc và sự nhất quán của dữ liệu. May mắn thay, MySQL cung cấp một hàm mạnh mẽ để giúp bạn thực hiện điều này: hàm DATE_FORMAT(). Hàm này cho phép bạn định dạng ngày tháng theo nhiều kiểu khác nhau tùy theo nhu cầu của bạn.

Cú Pháp của Hàm

Cú pháp cơ bản của hàm này như sau:

DATE_FORMAT(date, format);

Trong đó:

  • date là giá trị ngày mà bạn muốn định dạng.
  • format là một chuỗi định dạng mô tả cách bạn muốn ngày được hiển thị.

Các Ký Hiệu Định Dạng

Hàm này hỗ trợ nhiều ký hiệu để bạn có thể tùy chỉnh định dạng ngày theo ý muốn. Dưới đây là một số ký hiệu thường dùng:

  • %Y: Năm dạng 4 chữ số (vd: 2023)
  • %y: Năm dạng 2 chữ số (vd: 23)
  • %m: Tháng, dạng 2 chữ số (vd: 01 đến 12)
  • %c: Tháng, dạng 1-2 chữ số (vd: 1 đến 12)
  • %d: Ngày trong tháng, dạng 2 chữ số (vd: 01 đến 31)
  • %e: Ngày trong tháng, dạng 1-2 chữ số (vd: 1 đến 31)
  • %H: Giờ (00-23)
  • %h: Giờ (01-12)
  • %i: Phút, dạng 2 chữ số (00-59)
  • %s: Giây, dạng 2 chữ số (00-59)

Ví Dụ Cụ Thể

Dưới đây là một số ví dụ minh họa cách sử dụng hàm này để định dạng ngày theo các kiểu khác nhau:

  1. Định dạng ngày dạng YYYY-MM-DD
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS formatted_date;
  1. Định dạng ngày dạng DD/MM/YYYY
SELECT DATE_FORMAT(NOW(), '%d/%m/%Y') AS formatted_date;
  1. Định dạng ngày kèm giờ DD/MM/YYYY HH:MM:SS
SELECT DATE_FORMAT(NOW(), '%d/%m/%Y %H:%i:%s') AS formatted_date;
  1. Chỉ hiển thị tháng và năm
SELECT DATE_FORMAT(NOW(), '%M %Y') AS formatted_date;

Ở ví dụ trên, %M sẽ hiển thị tên đầy đủ của tháng bằng tiếng Anh (vd: January, February), và %Y là năm dạng 4 chữ số.

Sử Dụng Trong Thực Tế

Giả sử bạn có một bảng chứa các đơn đặt hàng với một cột lưu trữ ngày đặt hàng (order_date), bạn có thể sử dụng hàm này để lấy danh sách các đơn hàng cùng với ngày đặt hàng được định dạng đẹp mắt như sau:

SELECT order_id, DATE_FORMAT(order_date, '%d/%m/%Y') AS formatted_order_date
FROM orders;

Kết Luận

Hàm trong MySQL là một công cụ rất hữu ích cho việc định dạng ngày tháng theo nhiều kiểu khác nhau để phù hợp với nhu cầu cụ thể của bạn. Sử dụng hàm này không chỉ giúp dữ liệu của bạn dễ đọc hơn mà còn tăng cường tính nhất quán và chuyên nghiệp trong các báo cáo và ứng dụng của bạn. Việc nắm vững cách sử dụng hàm này sẽ rất hữu ích trong công việc hàng ngày của bạn với cơ sở dữ liệu MySQL.

Comments