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

SQLiteでUnixタイムスタンプを返す2つの方法

    UNIXタイムスタンプは、1970-01-0100:00:00UTCからの秒数です。 SQLiteは、UNIXタイムスタンプを取得するためのいくつかの方法を提供します。

    STRFTIME() 機能

    STRFTIME() 関数は、指定された形式で日付と時刻の値を返します。 %s形式の文字列置換を使用して、1970-01-01 00:00:00 UTC(つまり、UNIXタイムスタンプ)からの秒数を返すことができます:

    SELECT STRFTIME('%s');

    結果:

    1646695406

    UNIXEPOCH() 機能

    UNIXEPOCH() 関数は、UNIXタイムスタンプを返すように特別に設計されています。この関数はSQLite3.38.0(2022年2月2日リリース)で導入されたため、SQLite3.38.0以降を使用している場合にのみ機能します。

    SELECT UNIXEPOCH();

    結果:

    1646695411

    結果は似ていることがわかりますが、各例の実行にかかった時間によって明らかに違いがあります。

    組み合わせ

    念のために言っておきますが、ここに再びあります。ただし、今回は両方を同じSELECT内で実行します ステートメント:

    SELECT 
        UNIXEPOCH(),
        STRFTIME('%s');

    結果:

    UNIXEPOCH()  STRFTIME('%s')
    -----------  --------------
    1646695558   1646695558    


    1. MySQLで重複レコードを見つける方法

    2. SQLiteでワードラップを有効にする2つの方法

    3. 列がnullでも空でもないAndroidSQLiteクエリ

    4. MySQLにUTF-8を適切に処理させる方法