문제

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)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top