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

PostgreSQLでUnixタイムスタンプを返す

    PostgreSQLでは、extract()を使用できます epochと一緒に機能する Unixタイムスタンプを返す引数。

    現在の日付/時刻に基づいてUnixタイムスタンプを返すことも、別の指定された日付/時刻に基づいて取得することもできます。

    Unixタイムスタンプ(Unixエポック時間、Unix時間、またはPOSIX時間とも呼ばれます)は、1970年1月1日木曜日の00:00:00、Coordinated Universal Time(UTC)から経過した秒数です。

    現在のUnixタイムスタンプを取得する

    現在の日時からUnixタイムスタンプを取得する例を次に示します。

    SELECT extract(epoch from now());

    結果:

    1650152298.430101

    日付値

    これは、指定されたdateからUnixタイムスタンプを取得する例です。 値:

    SELECT extract(epoch from date '2030-08-15');

    結果:

    1912982400

    dateと一緒に使用する場合 値、epoch タイムゾーンや夏時間のルールに関係なく、1970-01-0100:00:00からの公称秒数を返します。

    タイムスタンプ値

    指定したtimestampからUnixタイムスタンプを取得する例を次に示します。 値:

    SELECT extract(epoch from timestamp '2030-08-15 03:30:45');

    結果:

    1912995045

    timestampと一緒に使用する場合 値、epoch タイムゾーンまたは夏時間の規則に関係なく、1970-01-0100:00:00以降の公称秒数を返します。これは、dateを使用する場合と同じです。 値。

    タイムゾーン値のあるタイムスタンプ

    これは、指定されたtimestamp with time zoneからUnixタイムスタンプを取得する例です。 値:

    SELECT extract(
        epoch from timestamp with time zone '2030-08-15 03:30:45.12-08'
        );

    結果:

    1913023845.12

    timestamp with time zoneとともに使用する場合 値、epoch 1970-01-01 00:00:00 UTCからの秒数を返します(それ以前のタイムスタンプは負)

    間隔

    intervalからUnixタイムスタンプを取得することもできます 値:

    SELECT extract(epoch from interval '7 days 2 hours');

    結果:

    612000

    intervalとともに使用する場合 値、epoch 間隔内の合計秒数を返します。


    1. OracleスキーマとMicrosoftスキーマの違いは何ですか?

    2. データを水平にする方法

    3. パフォーマンスの神話:切り捨てられたカントはロールバックされます

    4. Javaを使用してデータベース接続でMySQLタイムゾーンを変更するにはどうすればよいですか?