sql >> Databáze >  >> RDS >> Sqlserver

Shrňte sloupec Čas pomocí dotazu SQL

SQL Fiddle

Nastavení schématu MS SQL Server 2008 :

CREATE TABLE Table2
    ([repID] int, [ClockIn] datetime, [ClockOut] datetime, [TotalHours] varchar(7))
;

INSERT INTO Table2
    ([repID], [ClockIn], [ClockOut], [TotalHours])
VALUES
    (109145, '7:50:50 AM', '3:37:16 PM', '7:46:26'),
    (109145, '7:52:41 AM', '3:44:51 PM', '7:52:10'),
    (109145, '8:42:40 AM', '3:46:29 PM', '7:3:49'),
    (109145, '7:50:52 AM', '3:42:59 PM', '7:52:7'),
    (109145, '8:09:23 AM', '3:36:55 PM', '7:27:32')
;

Dotaz 1 :

SELECT convert(varchar(8), dateadd(second, SUM(DATEDIFF(SECOND, ClockIn, ClockOut)), 0),  108)
from Table2
group by repID

Výsledky :

| COLUMN_0 |
------------
| 14:02:04 |

Dotaz 2 :

select sum(datediff(second,ClockIn,ClockOut))/3600 as hours_worked
from Table2

Výsledky :

| hours_worked|
------------
|       38 |

Dotaz 3 :

select sum(datediff(minute, 0, TotalHours)) / 60.0 as hours_worked
from Table2

Výsledky :

| HOURS_WORKED |
----------------
|           38 |

Zde poslední dotaz byl převzat z odpovědi FreeLancers, protože jsem chtěl vědět, zda to funguje nebo ne.

Zde musíte nejprve převést rozdíl mezi datem a časem na sekundu nebo minutu a poté tento čas převést zpět na hodinu.

Doufám, že to pomůže.



  1. Jak propojit databázi s Amazon VPC

  2. mysql dotaz PHP:Chci, aby konkrétní položky byly první a pak seřadit zbytek položek

  3. Spojení více tabulek, abyste v MySQL získali NEROVNÉ hodnoty

  4. Vkládání a načítání obrázků do mysql pomocí pythonu