sql >> Database teknologi >  >> RDS >> Oracle

Konverter fra dato til epoke-Oracle

Fratræk DATE '1970-01-01' fra værdien vil give antallet af dage (og brøkdele timer/minutter/sekunder) forskel, og så kan du gange med 24*60*60 :

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

Opdater :

Typisk måles epoketid fra 1970-01-01T00:00:00 UTC . Hvis din dato ikke er i UTC, bliver du nødt til at konvertere tidszoner.

For eksempel, hvis din dato har tidszonen 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<>violin



  1. Tildeling af billeder til trævisningsknuder

  2. DBA - Sådan dræber du alle databaseprocesser på SQL Server

  3. mysqli_stmt::bind_param():Antallet af elementer i typedefinitionsstrengen matcher ikke antallet af bindevariabler

  4. Sådan trækkes data fra databasen og se dem som en ListView