Trong MySQL, DAY()
hàm là một từ đồng nghĩa với DAYOFMONTH()
hàm số. Nó được sử dụng để trả về ngày trong tháng kể từ một ngày.
Trong ngữ cảnh này, “ngày trong tháng” là một giá trị từ 1 đến 31 hoặc 0 cho các ngày có phần ngày bằng 0. Ví dụ:nếu bạn cung cấp ngày 2020-05-03 , DAY()
hàm sẽ trả về 3 .
Cú pháp
Cú pháp như sau:
DAY(date)
Nơi date
là giá trị ngày mà bạn muốn trả về ngày trong tháng.
Ví dụ
Đây là một ví dụ để chứng minh.
SELECT DAY('2020-06-18') AS 'Result';
Kết quả:
+--------+ | Result | +--------+ | 18 | +--------+
Nếu phần ngày có số 0 đứng đầu, thì số 0 đứng đầu sẽ bị bỏ qua khỏi kết quả. Ví dụ:
SELECT DAY('2020-06-07') AS 'Result';
Kết quả:
+--------+ | Result | +--------+ | 7 | +--------+
Một ví dụ về cơ sở dữ liệu
Dưới đây là một ví dụ về việc trích xuất phần ngày từ một cột khi chạy truy vấn dựa trên cơ sở dữ liệu.
USE sakila; SELECT payment_date AS 'Date/Time', DAY(payment_date) AS 'Day of Month' FROM payment WHERE payment_id = 1;
Kết quả:
+---------------------+--------------+ | Date/Time | Day of Month | +---------------------+--------------+ | 2005-05-25 11:30:37 | 25 | +---------------------+--------------+
Ngày / Giờ hiện tại
Dưới đây là một ví dụ về việc trích xuất phần ngày từ ngày và giờ hiện tại (được trả về bằng cách sử dụng NOW()
chức năng).
SELECT NOW(), DAY(NOW());
Kết quả:
+---------------------+------------+ | NOW() | DAY(NOW()) | +---------------------+------------+ | 2018-06-25 18:30:44 | 25 | +---------------------+------------+
Một cách khác để làm điều này là sử dụng CURDATE()
, chỉ trả về ngày (chứ không trả về thời gian).
SELECT CURDATE(), DAY(CURDATE());
Kết quả:
+------------+----------------+ | CURDATE() | DAY(CURDATE()) | +------------+----------------+ | 2018-06-25 | 25 | +------------+----------------+