T-SQL문에서 시간지연(Delay)이 필요할 때 사용할 수 있다.
WAITFOR DELAY
-- 1초에 한 번씩 현재 시간 출력
declare @i int
set @i = 0
while @i < 10
begin
print convert(varchar, getdate(), 121)
set @i = @i + 1
end
go
-- 결과
2009-09-17 09:43:07.873
2009-09-17 09:43:08.873
2009-09-17 09:43:09.870
2009-09-17 09:43:10.877
2009-09-17 09:43:11.863
2009-09-17 09:43:12.880
2009-09-17 09:43:13.873
2009-09-17 09:43:14.870
2009-09-17 09:43:15.873
2009-09-17 09:43:16.873
WAITFOR DELAY는 주어진 시간동안 기다릴 수 있습니다.
대기시간값은 datetime의 시간부분만 사용합니다. 다음과 같은 포맷을 사용할 수 있습니다.
- ‘00:00’ 시:분
- ‘00:00:00’ 시:분:초
- ‘00:00:00.000’ 시:분:초.밀리초
WAITFOR TIME
-- 09시 45분 59초까지 대기 후 다음 문장 수행
print convert(varchar, getdate(), 121)
waitfor time '09:45:59'
print convert(varchar, getdate(), 121)
-- 결과
2009-09-17 09:45:50.250
2009-09-17 09:45:59.000
WAITFOR TIME은 특정 시간까지 대기합니다.
대기시간값은 datetime의 시간부분만 사용합니다. 다음과 같은 포맷을 사용할 수 있습니다.
- ‘00:00’ 시:분
- ‘00:00:00’ 시:분:초
- ‘00:00:00.000’ 시:분:초.밀리초