Chúng ta có thể sử dụng DATE()
của SQLite hàm để trả về ngày thứ Hai đầu tiên của mỗi tháng trong một năm nhất định, dựa trên ngày chúng tôi cung cấp.
Nhưng nó không giới hạn vào Thứ Hai. Chúng tôi cũng có thể lấy thứ Ba, thứ Tư, thứ Năm, thứ Sáu đầu tiên của mỗi tháng.
Ví dụ
Ngoài ra, chúng ta có thể sử dụng mã như sau để trả về ngày Thứ Hai đầu tiên của mỗi tháng trong suốt năm:
SELECT
DATE('2025-10-20', 'start of year', 'weekday 1') AS "Jan",
DATE('2025-10-20', 'start of year', '+1 month', 'weekday 1') AS "Feb",
DATE('2025-10-20', 'start of year', '+2 months', 'weekday 1') AS "Mar",
DATE('2025-10-20', 'start of year', '+3 months', 'weekday 1') AS "Apr",
DATE('2025-10-20', 'start of year', '+4 months', 'weekday 1') AS "May",
DATE('2025-10-20', 'start of year', '+5 months', 'weekday 1') AS "Jun",
DATE('2025-10-20', 'start of year', '+6 months', 'weekday 1') AS "Jul",
DATE('2025-10-20', 'start of year', '+7 months', 'weekday 1') AS "Aug",
DATE('2025-10-20', 'start of year', '+8 months', 'weekday 1') AS "Sep",
DATE('2025-10-20', 'start of year', '+9 months', 'weekday 1') AS "Oct",
DATE('2025-10-20', 'start of year', '+10 months', 'weekday 1') AS "Nov",
DATE('2025-10-20', 'start of year', '+11 months', 'weekday 1') AS "Dec";
Kết quả:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 2025-01-06 2025-02-03 2025-03-03 2025-04-07 2025-05-05 2025-06-02 2025-07-07 2025-08-04 2025-09-01 2025-10-06 2025-11-03 2025-12-01
Ở đây, chúng tôi gọi là DATE()
hàm mười hai lần. Chúng tôi sử dụng cùng một ngày mỗi lần và hầu hết các đối số đều giống nhau. Điều duy nhất thay đổi là chúng ta thêm bao nhiêu vào đầu năm.
Chúng tôi sử dụng start of year
để đưa ngày trở lại ngày đầu tiên của năm. Sau đó, chúng tôi sử dụng các công cụ sửa đổi bổ sung để sửa đổi ngày đó cho phù hợp.
Khi chúng tôi không thêm bất kỳ tháng nào vào ngày, chúng tôi sẽ trả về ngày Thứ Hai đầu tiên của tháng Giêng. Thêm +1 month
trả về Thứ Hai đầu tiên của tháng Hai, v.v.
weekday 1
công cụ sửa đổi chuyển ngày sang Thứ Hai tiếp theo. Chủ Nhật là 0, Thứ Hai là 1, Thứ Ba là 2, v.v., vì vậy, nếu chúng tôi muốn Thứ Ba, chẳng hạn, chúng tôi sẽ sử dụng weekday 2
thay vào đó.
Sử dụng Ngày hiện tại
Ví dụ sau sử dụng ngày hiện tại:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of year', 'weekday 1') AS "Jan",
DATE('now', 'start of year', '+1 month', 'weekday 1') AS "Feb",
DATE('now', 'start of year', '+2 months', 'weekday 1') AS "Mar",
DATE('now', 'start of year', '+3 months', 'weekday 1') AS "Apr",
DATE('now', 'start of year', '+4 months', 'weekday 1') AS "May",
DATE('now', 'start of year', '+5 months', 'weekday 1') AS "Jun",
DATE('now', 'start of year', '+6 months', 'weekday 1') AS "Jul",
DATE('now', 'start of year', '+7 months', 'weekday 1') AS "Aug",
DATE('now', 'start of year', '+8 months', 'weekday 1') AS "Sep",
DATE('now', 'start of year', '+9 months', 'weekday 1') AS "Oct",
DATE('now', 'start of year', '+10 months', 'weekday 1') AS "Nov",
DATE('now', 'start of year', '+11 months', 'weekday 1') AS "Dec";
Kết quả:
Now Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 2022-03-10 2022-01-03 2022-02-07 2022-03-07 2022-04-04 2022-05-02 2022-06-06 2022-07-04 2022-08-01 2022-09-05 2022-10-03 2022-11-07 2022-12-05