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

Thêm tháng vào một ngày trong SQLite

Trong SQLite, chúng ta có thể sử dụng DATE() chức năng thêm một hoặc nhiều tháng vào một ngày.

Khi xử lý các giá trị ngày giờ, chúng ta có thể sử dụng DATETIME() chức năng.

Ví dụ

Dưới đây là một ví dụ sử dụng DATE() chức năng:

SELECT DATE('2050-08-21', '+1 month');

Kết quả:

2050-09-21

Nếu chúng tôi muốn trừ số tiền, chúng tôi có thể thay thế + với - .

Ngoài ra, bỏ qua + một phần dẫn đến số tiền được thêm vào, như thể chúng ta đã sử dụng + :

SELECT DATE('2050-08-21', '1 month');

Kết quả:

2050-09-21

Chúng ta có thể chỉ định các tháng ở dạng số nhiều hoặc không số nhiều. Nói cách khác, month tương đương với month :

SELECT 
    DATE('2050-08-21', '+3 month') AS month,
    DATE('2050-08-21', '+3 months') AS months;

Kết quả:

month       months    
----------  ----------
2050-11-21  2050-11-21

Được chỉ định trong ngày

Ngoài ra, chúng tôi có thể thêm một tháng hoặc nhiều hơn vào ngày dựa trên một số ngày:

SELECT DATE('2050-08-21', '+31 days');

Kết quả:

2050-09-21

Mặc dù vậy, hãy nhớ rằng điều này sẽ yêu cầu bạn biết chính xác bao nhiêu ngày là thích hợp cho các tháng liên quan. Một số tháng có 30 ngày, một số có 31 ngày và tháng Hai có 28 hoặc 29, tùy thuộc vào đó có phải là năm nhuận hay không.

Với month / month sửa đổi, SQLite chuẩn hóa ngày, dựa trên số ngày trong / s tháng có liên quan.

Dưới đây là so sánh giữa tháng với ngày khi thêm vào một ngày trong tháng 3:

SELECT 
    DATE('2050-03-31', '+1 month') AS "1 month",
    DATE('2050-03-31', '+30 days') AS "30 days",
    DATE('2050-03-31', '+31 days') AS "31 days";

Kết quả:

1 month     30 days     31 days   
----------  ----------  ----------
2050-05-01  2050-04-30  2050-05-01

Và đây là so sánh tương tự khi thêm vào một ngày trong tháng 9:

SELECT 
    DATE('2050-09-30', '+1 month') AS "1 month",
    DATE('2050-09-30', '+30 days') AS "30 days",
    DATE('2050-09-30', '+31 days') AS "31 days";

Kết quả:

1 month     30 days     31 days   
----------  ----------  ----------
2050-10-30  2050-10-30  2050-10-31

DATETIME() Chức năng

Dưới đây là một ví dụ minh họa cách sử dụng DATETIME() hàm để thêm một tháng vào giá trị ngày giờ:

SELECT DATETIME('2050-08-21', '+1 month');

Kết quả:

2050-09-21 00:00:00

Trong trường hợp này, tôi đã chuyển một giá trị ngày tháng, nhưng hàm trả về giá trị ngày giờ.

Đây là một ví dụ khác, lần này với giá trị ngày giờ:

SELECT DATETIME('2050-08-21 18:30:45', '+1 month');

Kết quả:

2050-09-21 18:30:45

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để bắt đầu với SQLCipher cho Android?

  2. chức năng để kiểm tra xem SQLite đang sử dụng journal_mode =WAL hay journal_mode =DELETE

  3. Cách lấy id từ cơ sở dữ liệu khi nhấp vào mục listview trong android

  4. Lỗi Android:Không thể thực hiện thao tác này vì nhóm kết nối đã bị đóng

  5. Cơ sở dữ liệu Android Room, truy xuất giá trị cụ thể của bản ghi mới nhất đã nhập