DATE()
của SQLite hàm cung cấp cho chúng ta khả năng trả về ngày của phiên bản đầu tiên của một ngày nhất định của một tháng nhất định. Do đó, chúng tôi có thể sử dụng nó để trả về ngày thứ Hai đầu tiên của một tháng nhất định. Chúng tôi cũng có thể sử dụng nó để trả về Thứ Ba, Thứ Tư, Thứ Năm, Thứ Sáu đầu tiên, v.v.
Chúng tôi có thể sử dụng DATETIME()
nếu chúng ta muốn trả về giá trị ngày giờ.
Ví dụ
SELECT DATE('2025-10-20', 'start of month', 'weekday 1');
Kết quả:
2025-10-06
Trong trường hợp này, thứ Hai đầu tiên của tháng nhất định xảy ra vào ngày 20 tháng 10 năm 2016.
start of month
và weekday 1
bổ ngữ sửa đổi ngày được cung cấp ở đối số đầu tiên. Chủ nhật là 0, thứ hai là 1, thứ ba là 2, v.v. Do đó, chúng tôi sử dụng giá trị của weekday 1
để chọn Thứ Hai.
Thứ Hai đầu tiên của tháng hiện tại
Ví dụ này hướng dẫn quy trình sử dụng ngày hiện tại:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of month') AS "Start of Month",
DATE('now', 'start of month', 'weekday 1') AS "First Monday";
Kết quả:
Now Start of Month First Monday ---------- -------------- ------------ 2022-03-09 2022-03-01 2022-03-07
Ví dụ này cho chúng ta thấy ngày ở mỗi giai đoạn sửa đổi của nó. Chúng tôi sử dụng now
để trả về ngày hiện tại, sau đó là start of month
để chuyển nó trở lại đầu tháng, sau đó là weekday 1
để dời ngày sang Thứ Hai đầu tiên.
DATETIME()
Chức năng
Chúng tôi cũng có thể sử dụng DATETIME()
chức năng để làm điều tương tự. Sự khác biệt là nó bao gồm phần thời gian:
SELECT DATETIME('2025-10-20', 'start of month', 'weekday 1');
Kết quả:
2025-10-06 00:00:00