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

OracleでUnixタイムスタンプを日付値に変換する

    Oracle Databaseでは、次の手法を使用して、Unixタイムスタンプ値から日付を返すことができます。

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

    UnixタイムスタンプをDATEに変換する例を次に示します。 値:

    SELECT 
        TO_DATE( '1970-01-01', 'YYYY-MM-DD' ) + NUMTODSINTERVAL( 1650321073, 'SECOND' )
    FROM DUAL;

    結果:

    18-APR-22

    ここでは、TO_DATE()を使用します 1970-01-01の日付を作成する関数。次に、その日付にUnixタイムスタンプを追加して、結果を取得します。この場合、NUMTODSINTERVAL()を使用します Unixタイムスタンプをintervalに変換します 価値。結果はDATEです 値。

    日付と時刻を取得する

    TO_TIMESTAMP()を使用できます timestampを出力する関数 値:

    SELECT 
        TO_TIMESTAMP( '1970-01-01', 'YYYY-MM-DD' ) + NUMTODSINTERVAL( 1650321073, 'SECOND' )
    FROM DUAL;

    結果:

    18-APR-22 10.31.13.000000 PM

    別の方法は次のようになります:

    SELECT TO_CHAR( 
        TO_DATE( '1970-01-01', 'YYYY-MM-DD' ) + numtodsinterval( 1650321073, 'SECOND' ), 
        'YYYY-MM-DD HH24:MI:SS'
        )
    FROM DUAL;

    結果:

    2022-04-18 22:31:13

    ここでは、TO_CHAR()を使用します TO_DATE()によって返された結果を出力する関数 私たちの好みの形式で。この関数は、結果をVARCHAR2として返します。 値。


    1. PolyScale.ai –グローバルキャッシングを使用したMySQLとPostgreSQLのスケーリング

    2. グループ化された文字列の集約/SQLServerのLISTAGG

    3. Entity FrameworkCode-FirstInitializerでデータベース照合を設定します

    4. PostgreSQLのようなデータベースよりもRabbitMQのようなメッセージブローカーが必要なのはなぜですか?