スタッフの作業ログを記録するテーブルがあります。 staffid、orderid、Startingtime、endingtimeなどの表の列。開始時刻と終了時刻の2つの時間の違いを調べる方法はわかっています。しかし、私は、労働者が別の仕事を始めるのに何分も時間がかかることを知る必要があります。ここで staffid workid Startingtime endingtime timetaken 100 10222 11.30午後11.50午後20 100 20122 11.55午後01.55午後120 私は、スタッフが2つのワーク間の経過どのように多くの分を計算する必要があります。(ここでは5分11.50pmと11.55午後)2つのエントリ間の経過時間の計算
0
A
答えて
0
目的の結果に対して以下のクエリクエリを使用します。 注:クエリは、すべてのスタッフに対して毎日実行されます。
CREATE TABLE dbo.CalcTimeDiff
(Staffid INT
,Orderid INT
,Startingtime DateTime
,Endingtime Datetime
)
GO
INSERT INTO dbo.CalcTimeDiff
SELECT '1','1','2016-08-21 11:30:00.000','2016-08-21 11:50:00.000'
UNION
SELECT '1','2','2016-08-21 11:55:00.000','2016-08-21 13:55:00.000'
GO
以下のクエリは、経過時間を分単位で示します。ここ
SELECT StaffiD,DATEDIFF(MINUTE,MIN(Startingtime),MAX(endingtime))-SUM(DATEDIFF(MINUTE,Startingtime,endingtime)) LapsedTime
FROM dbo.CalcTimeDiff
GROUP BY StaffiD,convert(date,Startingtime)
GO
0
作業ログは、 ':50 AM '11 iとして格納された結果、' テーブルの名前との代わりに'11 0.50 AMです。私はそれがあなたの問題を解決すると思います。
DECLARE @DIFFERENCE INT,@TIME1 VARCHAR(10),@TIME2 VARCHAR(10),@ID INT
DECLARE @TEMP_DATE TABLE (ID INT IDENTITY(1,1),STAFFID INT, WORKID INT,
STARTINGTIME VARCHAR(10), ENDINGTIME VARCHAR(10), TIMETAKEN INT)
INSERT INTO @TEMP_DATE SELECT * FROM WORKLOG
DECLARE C CURSOR FOR
SELECT ID FROM @TEMP_DATE
OPEN C
FETCH NEXT FROM C INTO @ID
WHILE @@FETCH_STATUS=0
BEGIN
IF (@ID != (SELECT COUNT(1) FROM WORKLOG))
BEGIN
SET @TIME1=(SELECT STARTINGTIME FROM @TEMP_DATE WHERE [email protected])
SET @TIME2=(SELECT STARTINGTIME FROM @TEMP_DATE WHERE ID=(@ID+1))
set @DIFFERENCE=(SELECT DATEDIFF(MINUTE,cast(@TIME1 as time), cast(@TIME2 as time)))
set @TIME1=(select cast(WORKID as varchar(20)) from @TEMP_DATE where [email protected])
set @TIME2=(select cast(WORKID as varchar(20)) from @TEMP_DATE where id=(@id+1))
PRINT 'Time difference between workid ('[email protected]+' and '[email protected]+') is => '+cast(@DIFFERENCE as varchar(20))
END
FETCH NEXT FROM C INTO @ID
END
CLOSE C
DEALLOCATE C
関連する問題
- 1. JMeterの2つのHTTPサンプラー間の経過時間を計算する方法
- 2. 経過時間を計算するjavascript
- 3. 合計超過時間の計算MySQL
- 4. 2つの連続した要求の間の経過時間の計算方法は?
- 5. Calc 2つの関数呼び出しの間の経過時間を計算します。
- 6. asp.netでタスクの経過時間を計算する
- 7. 関数の経過時間を計算する方法は?
- 8. 経過時間
- 9. 合計タイムスタンプのSQL Serverの間の経過時間
- 10. 2時間の間に計算差()
- 11. androidで経過時間と日付を計算する方法
- 12. Teradataの2つの日付間の時間差の計算
- 13. C#タイマーの経過時間?
- 14. 計算方法2つの日付間の総勤務時間
- 15. タイマー経過時間は2回
- 16. Oracle経過時間とCPU時間?
- 17. ゲームに経過時間の時計を追加する(Java)
- 18. Excelは2時間との間の計算期間は
- 19. Mysqlの時間計算 - 時間のみ
- 20. 経過時間を見つける
- 21. Delphiの経過時間/時間間隔は?
- 22. 指定された時間範囲の2つの日付間の経過時間
- 23. Python - X日付からの経過時間を計算するには?
- 24. Cプログラムの経過時間をミリ秒単位で計算する
- 25. VBAの経過時間を秒単位で計算する方法は?
- 26. 2つの日付時刻値間の時間差を計算する
- 27. 時間経過グラフmatplotlib
- 28. 巨大な時間経過)
- 29. 時間経過とタイムゾーン
- 30. は、経過時間に