Ich habe eine Spalte mit Datentyp als Datetime und die Art, wie Daten importiert wird, ist immer der vorherige Tag bis heute.Wo datetime zwischen 12 Uhr der Spalte Zeit und 10 Uhr am nächsten Tag der Spalte Zeit
In der Tabelle sind keine historischen Daten gespeichert - die vorherigen Daten werden gelöscht, bevor die neuen Daten importiert werden.
Ich möchte eine where-Klausel geschrieben haben, wobei meine ESTendTime-Spalte zwischen 00:00:00 der Zeitstempelspalte und 10:00:00 am nächsten Tag der Zeitstempelspalte liegt.
Ich habe gesucht, konnte aber nichts bestimmtes zu dem finden, was ich suchte.
Der Zweck ist, in erster Linie die Endzeiten derjenigen zu erfassen, die über Nacht arbeiten. Wenn die Daten exportiert werden, werden sie immer wie am Vortag zum nächsten Tag exportiert, zum Beispiel vom 1. Oktober zum 2. Oktober. Dadurch können wir die letzten Abmeldezeiten derjenigen sehen, die über Nacht gearbeitet haben. In dem Beispiel, das ich gerade erwähnt habe, werden die Daten alles von 00:00:00 1. Oktober bis 23.59.59 2. Oktober enthalten. Es gibt keine Möglichkeit für uns, sich auf eine bestimmte Zeit zu beschränken. Wenn ich also das Beispiel nutze, in dem ich gehofft habe, ist es in einer Where-Klausel begrenzt, wo die Zeit zwischen 00:00:00 Oktober 1 und 10:00:00 Oktober 2 ist. Das Problem ist, dass ich diese nicht verwenden möchte Daten wie meine Daten ändern sich ständig, weshalb ich hier für etwas Hilfe bin.
Code, ich habe aber nicht die erwarteten Ergebnisse zu erzielen
SELECT timestamp, emp_id, dept, ESTStartTime, ESTEndTime
,CONCAT(emp_id, '-', FORMAT(ESTStartTime, 'yyyy/MM/dd-HH:mm')) AS Index2Start
,CONCAT(emp_id, '-', FORMAT(ESTEndTime, 'yyyy/MM/dd-HH:mm')) AS Index3Stop
,CONCAT(emp_id, '-', FORMAT(ESTEndTime, 'yyyy/MM/dd')) AS Index3StopDay
FROM dbo.[test]
WHERE ESTEndTime BETWEEN DATEADD(DAY, DATEDIFF(DAY, 0, timestamp), 0) + '00:00'
AND DATEADD(DAY, DATEDIFF(DAY, 1, timestamp), 1) + '10:00'
ORDER BY ESTEndTime DESC
Beitrag versuchen, kann der Code, den Sie bisher geschrieben bitte. –
"wobei meine Datetime-Spalte zwischen 00:00:00 der Datetime-Spalte und 10:00:00 am nächsten Tag der Datetime-Spalte liegt." Das ergibt keinen Sinn. –
Ja, Sie haben Recht, und was ich meinte ist, wo meine ESTendTime-Spalte zwischen 00:00:00 der Zeitstempelspalte und 10:00:00 dem Tag der Zeitstempelspalte liegt. – sly123