sql >> Databasteknik >  >> RDS >> Oracle

Konvertera från datum till epok-Oracle

Subtraherar DATE '1970-01-01' från värdet ger antalet dagar (och bråkdelar av timmar/minuter/sekunder) skillnad och sedan kan du multiplicera med 24*60*60 :

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

Uppdatera :

Vanligtvis mäts epoktid från 1970-01-01T00:00:00 UTC . Om ditt datum inte är i UTC måste du konvertera tidszoner.

Till exempel, om ditt datum 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<>fiol



  1. det går inte att kopiera databasen med SQLiteAssetHelper-klassen

  2. Hur väljer man den första raden för varje grupp i MySQL?

  3. Tabelltyp i Oracle PL SQL Exempel

  4. Finns det något sätt att bädda in power bi-rapporter och instrumentpaneler i vb.net- eller C#-skrivbordsapplikationer med sql server 2008-databas?