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 day
và start of year
để trả về số giây kể từ đầu ngày hoặc năm.