0

ユーザーのタイミング時間を格納するテーブル tblTimesheet があります。このような

Hours
4.01
3.44
0.05
0.04
2.40

私が欲しいのは、私がこれを使用しているこれらの期間のいくつかです

select sum(hours) from tbltimesheets where workDate='2012-08-30 00:00:00.000' and taskid in (86,3,34)

しかし、それは私に9.94を与えており、10.34のように取得したいのですが、データ型はこのフィールドの10進数です。

私を助けてください

前もって感謝します

4

2 に答える 2

1

のようなものはどうですか

DECLARE @Table TABLE(
        Hrs FLOAT
)
INSERT INTO @Table SELECT 4.01 
INSERT INTO @Table SELECT 3.44 
INSERT INTO @Table SELECT 0.05 
INSERT INTO @Table SELECT 0.04 
INSERT INTO @Table SELECT 2.40

;WITH Vals AS (
        SELECT  SUM(FLOOR(Hrs)) NumHrs,
                SUM((Hrs - FLOOR(Hrs)) * 100) NumMins 
        FROM    @Table
)
SELECT  NumHrs + FLOOR(NumMins / 60) + ((NumMins / 60 - FLOOR(NumMins / 60)) * 60 / 100)
FROM    Vals
于 2012-09-05T05:54:09.943 に答える
0
 first hours conet to minute and last step divide by 60.
select (sum(hours*60)/60) from tbltimesheets where workDate='2012-08-30 00:00:00.000' and taskid in (86,3,34)
于 2012-09-05T05:40:21.073 に答える