MariaDB có một số chức năng cho phép bạn trích xuất các phần ngày và giờ khác nhau từ các giá trị ngày / giờ. Bạn có thể sử dụng chúng để tách từng thành phần ngày / giờ thành cột riêng nếu cần.
Dưới đây là ba cách để trích xuất năm, tháng và ngày từ một giá trị ngày tháng trong MariaDB.
YEAR()
, MONTH()
và DAY()
Chức năng
YEAR()
, MONTH()
và DAY()
các hàm trích xuất năm, tháng và ngày từ một giá trị ngày tháng hoặc ngày giờ tương ứng.
Dưới đây là một ví dụ về việc sử dụng các hàm này để trả về từng thành phần ngày tháng trong cột riêng của nó:
SELECT
YEAR('2025-08-30') AS "Year",
MONTH('2025-08-30') AS "Month",
DAY('2025-08-30') AS "Day";
Kết quả:
+------+-------+------+ | Year | Month | Day | +------+-------+------+ | 2025 | 8 | 30 | +------+-------+------+
DAY()
hàm thực sự là một từ đồng nghĩa với DAYOFMONTH()
, vì vậy một trong hai sẽ trả về cùng một kết quả.
Ngoài ra còn có một WEEKDAY()
hàm, một DAYOFWEEK()
hàm, một DAYOFYEAR()
và một DAYNAME()
, mỗi hàm trả về một đại diện khác nhau trong ngày.
Ngoài ra còn có MONTHNAME()
hàm trả về tên tháng, thay vì số của nó.
Dưới đây là một ví dụ khác bao gồm các chức năng đó:
SELECT
YEAR('2025-08-30') AS "YEAR",
MONTH('2025-08-30') AS "MONTH",
MONTHNAME('2025-08-30') AS "MONTHNAME",
DAY('2025-08-30') AS "DAY",
DAYOFMONTH('2025-08-30') AS "DAYOFMONTH",
WEEKDAY('2025-08-30') AS "WEEKDAY",
DAYOFWEEK('2025-08-30') AS "DAYOFWEEK",
DAYOFYEAR('2025-08-30') AS "DAYOFYEAR",
DAYNAME('2025-08-30') AS "DAYNAME";
Kết quả (sử dụng đầu ra dọc):
YEAR: 2025 MONTH: 8 MONTHNAME: August DAY: 30 DAYOFMONTH: 30 WEEKDAY: 5 DAYOFWEEK: 7 DAYOFYEAR: 242 DAYNAME: Saturday
Bạn cũng có thể sử dụng các hàm như WEEK()
để trả về số tuần và QUARTER()
để trả lại của quý.
Ví dụ:
SELECT
WEEK('2025-08-30') AS "Week",
QUARTER('2025-08-30') AS "Quarter";
Kết quả:
+------+---------+ | Week | Quarter | +------+---------+ | 34 | 3 | +------+---------+
WEEK()
hàm chấp nhận đối số thứ hai cho phép bạn chỉ định chế độ. Điều này có thể thay đổi số tuần kết quả, tùy thuộc vào ngày thực tế. Xem Cách thực hiện WEEK()
Hoạt động trong MariaDB để biết thêm thông tin và ví dụ.
EXTRACT()
Chức năng
EXTRACT()
chức năng cho phép bạn trích xuất một đơn vị cụ thể từ giá trị ngày / giờ. Do đó, bạn có thể sử dụng nó để trích xuất năm, tháng và ngày từ ngày (cũng như tuần và quý nếu được yêu cầu).
Ví dụ:
SELECT
EXTRACT(YEAR FROM '2023-03-12') AS "Year",
EXTRACT(MONTH FROM '2023-03-12') AS "Month",
EXTRACT(DAY FROM '2023-03-12') AS "Day",
EXTRACT(WEEK FROM '2023-03-12') AS "Week",
EXTRACT(QUARTER FROM '2023-03-12') AS "Quarter";
Kết quả:
+------+-------+------+------+---------+ | Year | Month | Day | Week | Quarter | +------+-------+------+------+---------+ | 2023 | 3 | 12 | 11 | 1 | +------+-------+------+------+---------+
DATE_FORMAT()
Chức năng
DATE_FORMAT()
hàm cho phép bạn định dạng ngày tháng hoặc giá trị ngày giờ dựa trên một chuỗi định dạng. Chuỗi định dạng chỉ định cách định dạng ngày / giờ.
Do đó, chúng ta có thể sử dụng hàm này để trả về năm, tháng, ngày và tuần từ một ngày.
Ví dụ:
SELECT
DATE_FORMAT('2035-12-08', '%Y') AS "Year",
DATE_FORMAT('2035-12-08', '%m') AS "Month",
DATE_FORMAT('2035-12-08', '%d') AS "Day",
DATE_FORMAT('2035-12-08', '%U') AS "Week";
Kết quả:
+------+-------+------+------+ | Year | Month | Day | Week | +------+-------+------+------+ | 2035 | 12 | 08 | 48 | +------+-------+------+------+
Có một số chỉ định định dạng có thể có cho mỗi phần ngày. Mỗi phần ngày tháng có thể trả về một giá trị khác nhau, tùy thuộc vào công cụ chỉ định định dạng thực tế được cung cấp. Ví dụ:bạn có thể trả lại tên tháng đầy đủ bằng cách sử dụng %M
thay vì %m
.
Xem Chuỗi định dạng MariaDB để biết danh sách đầy đủ các chuỗi / mã định dạng có thể được sử dụng với DATE_FORMAT()
.