Jika Anda perlu menghitung jumlah detik yang telah berlalu sejak tanggal dan waktu tertentu, Anda dapat menggunakan UNIXEPOCH()
fungsi.
Perhatikan bahwa fungsi ini diperkenalkan di SQLite 3.38.0, sehingga hanya akan berfungsi jika Anda menggunakan SQLite 3.38.0 atau yang lebih baru.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Hasil:
64254554
Dalam contoh ini, saya mengembalikan jumlah detik sejak 23-02-2020 07:30:45.
Jelas, jumlah detiknya akan berbeda jika kita menjalankannya lagi nanti:
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Hasil:
64254823
Jumlah Detik sejak Awal Bulan
Berikut adalah contoh yang mengembalikan jumlah detik yang telah berlalu sejak awal bulan berjalan:
SELECT UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month'));
Hasil:
605380
Di sini, kami menggunakan DATETIME()
berfungsi bersama dengan now
argumen untuk mengembalikan tanggal dan waktu saat ini. Dan kami juga menggunakan start of month
pengubah untuk menentukan awal bulan.
Contoh berikut memperluas yang sebelumnya. Ini menunjukkan tanggal aktual yang terlibat, serta detik di antara mereka:
SELECT
DATETIME('now', 'start of month') AS "Start of Month",
DATETIME('now') AS "Now",
UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month')) AS "Seconds";
Hasil:
Start of Month Now Seconds ------------------- ------------------- ------- 2022-03-01 00:00:00 2022-03-08 00:12:04 605524
Anda juga dapat menggunakan start of day
dan start of year
untuk mengembalikan detik sejak awal hari atau tahun.