sql >> Database teknologi >  >> RDS >> Mysql

SQL-forespørgsel til at beregne timer brugt fra den anden dag og ender på den næste dag

Dette er Oracle-forespørgsel til kun at beregne tidsforskel. Jeg tror, ​​det burde fungere i enhver SQL, hvis du erstatter dual med din tabel. Der er LAG/LEAD-funktioner til at sammenligne værdier for forrige/næste række, men jeg ved ikke, om de er tilgængelige i din version af SQL. Jeg håber, at dette er nyttigt for dig:

SELECT trunc(mydate / 3600) hr
 , trunc(mod(mydate, 3600) / 60) mnt
 , trunc(mod(mydate, 3600) / 60 /60) sec
  FROM 
  (
   SELECT (to_date('01/02/2013 23:00:00', 'mm/dd/yyyy  hh24:mi:ss') -
           to_date('01/01/2013 07:00:00', 'mm/dd/yyyy  hh24:mi:ss')) * 86400 mydate
    FROM dual
  )
 /


  1. Eksekverer MySQL IN-sætningen underforespørgslen flere gange?

  2. Forbindelsen mislykkedes:Adgang nægtet for brugeren 'root'@'localhost' (ved hjælp af adgangskode:JA) fra php-funktionen

  3. Måltabellen for OPDATERING kan ikke opdateres

  4. VENSTRE JOIN kun første række