SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Nhận thứ Hai đầu tiên, thứ hai, thứ ba hoặc thứ tư của tháng trong SQLite

Chúng ta có thể sử dụng DATE() của SQLite hàm để thực hiện các phép tính vào một ngày nhất định. Một trong những điều chúng tôi có thể làm là trả lại phiên bản đầu tiên, thứ hai, thứ ba hoặc thứ tư của một ngày nhất định trong một tháng nhất định.

Ví dụ

Dưới đây là một ví dụ để chứng minh:

SELECT 
    DATE('2025-10-20', 'start of month', 'weekday 1') AS "First",
    DATE('2025-10-20', 'start of month', '+7 days', 'weekday 1') AS "Second",
    DATE('2025-10-20', 'start of month', '+14 days', 'weekday 1') AS "Third",
    DATE('2025-10-20', 'start of month', '+21 days', 'weekday 1') AS "Fourth",
    DATE('2025-10-20', 'start of month', '+28 days', 'weekday 1') AS "Fifth";

Kết quả:

First       Second      Third       Fourth      Fifth     
----------  ----------  ----------  ----------  ----------
2025-10-06  2025-10-13  2025-10-20  2025-10-27  2025-11-03

Trong ví dụ này, ngày bắt đầu giống nhau cho tất cả các trường hợp, cũng như hầu hết các đối số. Điều duy nhất thay đổi là số tiền chúng tôi thêm vào đầu tháng. Nếu chúng tôi không thêm bất cứ điều gì, chúng tôi có thể trả về Thứ Hai đầu tiên, thêm 7 ngày sẽ trả về Thứ Hai thứ hai, v.v.

Ở đây, chúng tôi sử dụng start of month để đưa ngày trở lại ngày đầu tiên của tháng. Sau đó, chúng tôi sử dụng nhiều công cụ sửa đổi hơn để sửa đổi ngày đó cho phù hợp.

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.).

Để có được thứ Hai thứ hai, chúng ta có thể sử dụng +7 days để dời ngày về phía trước một tuần. Đối với các ngày Thứ Hai tiếp theo, chúng tôi thêm 7 ngày vào con số đó (+14 days , +21 days , +28 days vv).

Chúng ta cũng có thể thấy rằng việc thêm 28 ngày sẽ trả về Thứ Hai đầu tiên của tháng tiếp theo.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể mở cơ sở dữ liệu SQLite từ SQLIte Helper Oncreate, khi OnCreate được kích hoạt bằng cách mở cơ sở dữ liệu lần đầu tiên

  2. SQLITE không thể nâng cấp cơ sở dữ liệu chỉ đọc từ phiên bản 1 lên 2

  3. Android lưu trữ phiên bản cơ sở dữ liệu của SQLite ở đâu?

  4. Cách xóa các mục khỏi cơ sở dữ liệu sqlite với lớp SQLiteOpenHelper

  5. Cách last_insert_rowid () hoạt động trong SQLite