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

Trả về Cuối tháng trong SQLite

Trong SQLite, chúng ta có thể sử dụng phương pháp sau để tính ngày cuối cùng của một tháng nhất định.

Chúng tôi có thể căn cứ vào ngày hiện tại hoặc vào một số ngày cụ thể khác.

Ngày cuối cùng của tháng hiện tại

Dưới đây là một ví dụ trả về ngày cuối cùng của tháng hiện tại:

SELECT DATE('now', 'start of month', '+1 month', '-1 day');

Kết quả:

2022-03-31

Điều này sử dụng DATE() hàm để trả về kết quả mà chúng ta muốn. 'now' đối số trả về ngày hiện tại và 'start of month' đối số sửa đổi nó thành đầu tháng. Sau đó, chúng tôi sử dụng '+1 month' để thêm một tháng vào đầu tháng (sẽ chuyển ngày đó sang đầu tháng sau), sau đó chúng tôi giảm ngày đó đi một ngày (để đưa ngày đó trở lại cuối tháng đầu tiên).

Ngày cuối cùng của tháng được chỉ định

Nhưng như đã đề cập, chúng tôi không giới hạn chỉ đến cuối tháng hiện tại. Chúng tôi có thể chỉ định bất kỳ ngày nào và nó sẽ trả về cuối tháng, dựa trên ngày đó.

Dưới đây là một số ví dụ:

SELECT 
    DATE('2023-02-10', 'start of month', '+1 month', '-1 day') AS Feb,
    DATE('2023-11-10', 'start of month', '+1 month', '-1 day') AS Nov,
    DATE('2023-12-10', 'start of month', '+1 month', '-1 day') AS Dec;

Kết quả:

Feb         Nov         Dec       
----------  ----------  ----------
2023-02-28  2023-11-30  2023-12-31

Chúng ta có thể thấy rằng SQLite đủ thông minh để tính ra bao nhiêu ngày trong mỗi tháng. Khi chúng tôi sử dụng '+1 month' , SQLite biết có bao nhiêu ngày trong mỗi tháng. Chúng ta có thể thấy rằng tháng 2 có 28 ngày, ngày 30 tháng 11 và tháng 12 có 31 ngày.

Nếu chúng ta chuyển ngày ban đầu sang năm 2024, chúng ta có thể thấy rằng tháng Hai có 29 ngày trong năm đó:

SELECT 
    DATE('2024-02-10', 'start of month', '+1 month', '-1 day') AS Feb,
    DATE('2024-11-10', 'start of month', '+1 month', '-1 day') AS Nov,
    DATE('2024-12-10', 'start of month', '+1 month', '-1 day') AS Dec;

Kết quả:

Feb         Nov         Dec       
----------  ----------  ----------
2024-02-29  2024-11-30  2024-12-31

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mô phỏng ORDER BY trong SQLite UPDATE để xử lý ràng buộc về tính duy nhất

  2. Toán tử SQLite EXCEPT

  3. Cách đưa Trường Bộ sưu tập Nước ngoài vào Con trỏ trong Ormlite

  4. Làm cách nào tôi có thể đọc dữ liệu từ một DB được mã hóa bằng SQLiteAssetHelper?

  5. Định dạng kết quả truy vấn SQLite dưới dạng cột với tiêu đề cột