sql >> Databasteknik >  >> RDS >> Oracle

oracle konvertera unix epok tid till datum

För att konvertera från millisekunder från epok (antag att epoken är 1 januari 1970):

select to_date('19700101', 'YYYYMMDD') + ( 1 / 24 / 60 / 60 / 1000) * 1322629200000
from dual;

30/11/2011 5:00:00 AM

Så här konverterar du tillbaka datumet till millisekunder:

select (to_date('11/30/2011 05:00:00', 'MM/DD/YYYY HH24:MI:SS') - to_date('19700101', 'YYYYMMDD')) * 24 * 60 * 60 * 1000
from dual;

1322629200000

Om det är sekunder istället för millisekunder, utelämna bara 1000-delen av ekvationen:

select to_date('19700101', 'YYYYMMDD') + ( 1 / 24 / 60 / 60 ) * 1322629200
from dual;

select (to_date('11/30/2011 05:00:00', 'MM/DD/YYYY HH24:MI:SS') - to_date('19700101', 'YYYYMMDD')) * 24 * 60 * 60
from dual;

Hoppas det hjälper.



  1. Hur använder jag CREATE OR REPLACE?

  2. Hur får man ett float-resultat genom att dividera två heltalsvärden med T-SQL?

  3. Hur man aktiverar SSL i PostgreSQL

  4. bestämma teckenuppsättningen för en tabell/databas?