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

日付からエポックに変換-Oracle

    DATE '1970-01-01'を引く 値から日数(および小数時間/分/秒)の差が得られ、24*60*60を掛けることができます :

    (date_value - DATE '1970-01-01')*24*60*60
    

    更新

    通常、エポック時間は1970-01-01T00:00:00 UTCから測定されます。 。日付がUTCでない場合は、タイムゾーンを変換する必要があります。

    たとえば、日付にタイムゾーンがEurope/Berlinの場合 :

    ( CAST(
        FROM_TZ(
          CAST( date_value AS TIMESTAMP ),     -- Cast to timestamp
          'Europe/Berlin'                      -- Convert to expected Time Zone
        )
        AT TIME ZONE 'UTC'                     -- Convert Time Zone to UTC
        AS DATE                                -- Cast back to DATE data type
      )
      - DATE '1970-01-01'
    )*24*60*60
    

    db<>フィドル



    1. MySQLは自動的に文字列を数値にキャスト/変換しますか?

    2. DBAとしてのあなたの価値を財務幹部に明確に伝える方法

    3. MySQL-length()とchar_length()

    4. COALESCE関数を使用して値をコンマで区切る