データ型の列がdatetimeであり、データのインポート方法は常に前日までです。ここで、列時間の午前12時から午前10時の列時間の
テーブルに履歴データが保存されていません。新しいデータをインポートする前に以前のデータが削除されます。
私はESTEndTime列がタイムスタンプ列の00:00:00とタイムスタンプ列の翌日の10:00:00の間にあるwhere節を書いておきたいと言われています。
私は検索しましたが、探しているものに固有のものは見つかりませんでした。
目的は、主に一晩中作業する人の終了時刻を取得することです。データがエクスポートされると、前日と同じように翌日、たとえば10月1日から10月2日にエクスポートされます。これにより、夜間に作業した人の最新のログアウト時刻が表示されます。私が言及した例では、データには10月1日00:00:00から10月23日59:59までのすべてが含まれます。特定の時間に制限する方法はありません。だから私が達成しようとしていたときの例を使用すると、where句では、10月1日00:00:00と10:00:00 10:00の間に制限されます。問題は、実際の私の日付はいつも変化しているので、なぜ私はここにいくつかの助けを求めているのです。
私が持っているコードが、これはあなたのために動作するかどうか期待される結果
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
を試すことができます別の可能な方法です。 –
"私のdatetime列はdatetime列の00:00:00とdatetime列の翌日の10:00:00の間にあります。それは意味をなさない。 –
はい、あなたは正しいと私の意味は、私のESTEndTime列は、タイムスタンプ列の00:00:00とタイムスタンプ列の日の10:00:00の間です。 – sly123