sql >> データベース >  >> RDS >> SQLite

SQLiteで特定の日付/時刻からの秒数を計算する

    特定の日時から経過した秒数を計算する必要がある場合は、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 日または年の開始からの秒数を返します。


    1. MariaDBでのADDDATE()のしくみ

    2. Ubuntu20.04にClickHouseをインストールして構成する方法

    3. MySQLユーザーにデータベースを作成させますが、自分のデータベースへのアクセスのみを許可します

    4. MySQLで接続の照合を表示する方法