sql >> Databasteknik >  >> RDS >> PostgreSQL

Postregsql datumskillnad på basis av sekunder

Först måste datumen vara värdena för timestamp typ (så lägg till ::timestamp om du bara anger dem som bokstavliga strängar).

Om du subtraherar två tidsstämplar är resultatet interval typ, som beskriver en tidslängd (i timmar, minuter, sekunder etc.) Du kan använda extract(epoch from interval_value) för att omvandla intervallet till ett absolut antal sekunder.

Så, sätta ihop det hela:

select extract(epoch from ('2011-12-30 09:55:56'::timestamp - '2011-12-30 08:54:55'::timestamp));

Kom ihåg att ::timestamp behövs bara för att konvertera strängen literal till en tidsstämpel:du behöver den inte om du till exempel använder värdet för en tidsstämpelkolumn.




  1. I SQL Server hur man pivoterar för flera kolumner

  2. SQL :MELLAN vs <=och>=

  3. cx_Oracle och undantagshantering - god praxis?

  4. MySQL - En till en relation?