24 시간 전 SQL Server에서 에포크 시간을 어떻게 비교합니까?
-
05-07-2019 - |
문제
MS SQL Server 2005를 사용하고 있습니다. 1970 년 시작 (1970 년 시작)에 날짜가 저장되어 지난 24 시간 동안 업데이트되지 않은 레코드에 영향을 미치는 진술을 만들어야합니다.
해결책
현재 DateTime을 Epoch 형식으로 가져 오려면 사용 (~을 통해):
SELECT DATEDIFF(s,'19700101 05:00:00:000',GETUTCDATE())
현재 시대 시간을 얻으려면 - 24 시간 사용 :
SELECT DATEDIFF(s,'19700101 05:00:00:000', DATEADD(DAY, -1, GETUTCDATE()))
그래서 당신은 할 수 있습니다 :
DECLARE @24_hours_ago AS INT
SELECT @24_hours_ago = DATEDIFF(s,'19700101 05:00:00:000', DATEADD(DAY, -1, GETUTCDATE()))
UPDATE table SET col = value WHERE last_updated < @24_hours_ago
다른 팁
1970 년 1 월 1 일 이후 경과 한 초 수를 계산하여 SQL Server Datetime에서 Epoch Time으로 변환 할 수 있습니다.
Select DateDiff(Second, '19700101', GetDate())
지난 24 시간 동안 행을 얻으려면 ....
Select Columns
From Table
Where EpochColumn Between DateDiff(Second, '19700101', GetDate()) And DateDiff(Second, '19700101, GetDate()-1)
제휴하지 않습니다 StackOverflow