特定の日時から経過した秒数を計算する必要がある場合は、UNIXEPOCH()
を使用できます。 働き。
この関数はSQLite3.38.0で導入されたため、SQLite3.38.0以降を使用している場合にのみ機能することに注意してください。
例
デモンストレーションの例を次に示します。
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
結果:
64254554
この例では、2020-02-2307:30:45からの秒数を返しました。
明らかに、後でもう一度実行すると秒数が異なります:
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
結果:
64254823
月の初めからの秒数
今月の初めから経過した秒数を返す例を次に示します。
SELECT UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month'));
結果:
605380
ここでは、DATETIME()
を使用します now
と一緒に機能する 現在の日付と時刻を返す引数。また、start of month
も使用します 月の始まりを指定する修飾子。
次の例は、前の例を拡張したものです。実際の日付とその間の秒数が表示されます:
SELECT
DATETIME('now', 'start of month') AS "Start of Month",
DATETIME('now') AS "Now",
UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month')) AS "Seconds";
結果:
Start of Month Now Seconds ------------------- ------------------- ------- 2022-03-01 00:00:00 2022-03-08 00:12:04 605524
start of day
を使用することもできます およびstart of year
日または年の開始からの秒数を返します。