Ich habe Tabelle, die das Arbeitsprotokoll des Personals aufzeichnet. Die Tabellenspalten als staffid, orderid, Startingtime, endingtime usw. Ich weiß, wie man den Unterschied zwischen zwei Zeitpunkten findet, dh Start- und Endzeit. Aber ich muss wissen, wie viele Minuten ein Arbeiter vergeht, um eine neue Arbeit zu beginnen. StaffID workid Startingtime endingtime time 100 10222 23.30 11.50 20 100 20122 23.55 01.55 120 Hier muss ich berechnen, wie viele Minuten Personal zwischen zwei Arbeits verstrichen ist. (Hier 5 Minuten 23.50 und 11.55)Berechnung der verstrichenen Zeit zwischen zwei Eintrag
0
A
Antwort
0
Verwenden Sie die folgende Abfrage für das gewünschte Ergebnis. Hinweis: Die Abfrage funktioniert täglich mit allen Mitarbeitern.
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
Die folgende Abfrage gibt Ihnen die verstrichene Zeit in Minuten.
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
Hier worklog ist der Name der Tabelle und statt '11 .50 Uhr 'i gespeicherte Ergebnis als '11: 50 Uhr'. Ich denke, es löst Ihr Problem
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
Verwandte Themen
- 1. Shell-Skript zur Berechnung der verstrichenen Zeit
- 2. Problem mit der Berechnung der verstrichenen Minuten zwischen zwei Daten
- 3. Ermitteln der verstrichenen Zeit
- 4. Berechnung der verstrichenen Zeit in einem C-Programm in Millisekunden
- 5. Abrufen der verstrichenen Zeit (Objective-c)
- 6. Berechnung der Zeit zwischen Textfeldinteraktionen
- 7. schnell verstrichenen Zeit auf Linux
- 8. Berechnung der Zeit zwischen zwei Klicks in Javascript
- 9. timeIntervalSinceNow Nutzung der verstrichenen Zeit Wert
- 10. Berechnung der Zeit zwischen DATETIME mit PHP
- 11. Handhabung und Speicherung der verstrichenen Zeit
- 12. Verfolgen der verstrichenen Zeit mit Swift
- 13. Transact-SQL zum Aufsummieren der verstrichenen Zeit
- 14. Versandaktion nach einer verstrichenen Zeit
- 15. Berechnen der verstrichenen Arbeitsstunden zwischen 2 Datetime
- 16. Berechnung der Oberfläche zwischen zwei Linien
- 17. Berechnung der Differenz zwischen zwei Daten
- 18. Abrufen der verstrichenen Zeit mit DispatchTimer auf 1 Millisekunden Genauigkeit
- 19. Inkrementieren der Listengröße basierend auf der verstrichenen Zeit
- 20. Oracle 11 Variable Empfindlichkeit der verstrichenen Zeit zu LINESIZE Änderungen
- 21. tägliche Berechnung der Zeitdifferenz zwischen zwei Pandas DF Reihen
- 22. Berechnung Winkel zwischen zwei Vektoren in GLSL
- 23. Ermitteln der genauen Zeit zwischen zwei Berührungen
- 24. Messung der Zeit zwischen zwei PHP-Formularübergaben
- 25. CPU-Zeit im Vergleich zur verstrichenen Zeit in T-SQL
- 26. Nachrüstung 2 - Anzeige der verstrichenen Zeit einer JSON-Antwort
- 27. Einmaliger Timer zum Speichern (SharedPreferences) der verstrichenen Zeit in Aktivität
- 28. Filtern von Datenrahmen basierend auf der verstrichenen Zeit
- 29. Mittel der Teilmenge der Berechnung zwischen zwei Daten
- 30. Joda Zeit Berechnung der Tage, Stunden, Minuten und Sekunden zwischen zwei Datetime-Objekte