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

Tính số giây kể từ một ngày / giờ cụ thể trong SQLite

Nếu bạn cần tính số giây đã trôi qua kể từ một ngày và giờ nhất định, bạn có thể sử dụng UNIXEPOCH() hàm số.

Lưu ý rằng chức năng này đã được giới thiệu trong SQLite 3.38.0, vì vậy nó sẽ chỉ hoạt động nếu bạn đang sử dụng SQLite 3.38.0 trở lên.

Ví dụ

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

SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');

Kết quả:

64254554

Trong ví dụ này, tôi đã trả lại số giây kể từ 2020-02-23 07:30:45.

Rõ ràng, số giây sẽ khác nếu chúng ta chạy lại sau:

SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');

Kết quả:

64254823

Số giây kể từ đầu tháng

Dưới đây là một ví dụ trả về số giây đã trôi qua kể từ đầu tháng hiện tại:

SELECT UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month'));

Kết quả:

605380

Ở đây, chúng tôi sử dụng DATETIME() cùng với now đối số để trả về ngày và giờ hiện tại. Và chúng tôi cũng sử dụng start of month bổ ngữ để chỉ định đầu tháng.

Ví dụ sau mở rộng trên ví dụ trước. Nó hiển thị các ngày thực tế có liên quan, cũng như số giây giữa chúng:

SELECT 
    DATETIME('now', 'start of month') AS "Start of Month",
    DATETIME('now') AS "Now",
    UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month')) AS "Seconds";

Kết quả:

Start of Month       Now                  Seconds
-------------------  -------------------  -------
2022-03-01 00:00:00  2022-03-08 00:12:04  605524 

Bạn cũng có thể sử dụng start of daystart of year để trả về số giây kể từ đầu ngày hoặc năm.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android ListView sử dụng SQLite

  2. Nhập tệp CSV vào bảng SQLite

  3. SQLite VACUUM

  4. Quyền của người dùng SQLite

  5. Làm cách nào để cập nhật một trường trong spinner của tôi với thông tin người dùng nhập vào EditText