Oracle - Beste SELECT verklaring vir die kry van die verskil in minute tussen twee Datum tyd kolomme?

StackOverflow https://stackoverflow.com/questions/206222

  •  03-07-2019
  •  | 
  •  

Vra

Ek is 'n poging om 'n nogal moeilik verslagdoening versoek van 'n kliënt te voldoen, en wat ek nodig het om weg te vind om die verskil tussen twee Datum tyd kolomme in minute te kry. Ek het probeer om TRUNC en ronde gebruik met verskeie formate en kan nie lyk om te kom met 'n kombinasie wat sin maak. Is daar 'n elegante manier om dit te doen? Indien nie, is daar enige manier om dit te doen?

Was dit nuttig?

Oplossing

SELECT date1 - date2
  FROM some_table

terug 'n verskil in dae. Vermenigvuldig met 24 om 'n verskil te kry in ure en 24 * 60 tot minute te kry. So

SELECT (date1 - date2) * 24 * 60 difference_in_minutes
  FROM some_table

moet wees wat jy soek vir

Ander wenke

By verstek, orakel datum aftrek terugkeer gevolg in # dae.

So net vermenigvuldig met 24 te kry # uur, en weer met 60 vir # minute.

Voorbeeld:

select
  round((second_date - first_date) * (60 * 24),2) as time_in_minutes
from
  (
  select
    to_date('01/01/2008 01:30:00 PM','mm/dd/yyyy hh:mi:ss am') as first_date
   ,to_date('01/06/2008 01:35:00 PM','mm/dd/yyyy HH:MI:SS AM') as second_date
  from
    dual
  ) test_data
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top