Как вызвать задержку выполнения на указанное количество секунд?
Это не делает это:
WAITFOR DELAY '00:02';
Какой правильный формат?
Как вызвать задержку выполнения на указанное количество секунд?
Это не делает это:
WAITFOR DELAY '00:02';
Какой правильный формат?
Ответы:
В документации
WAITFOR()
явно не указан требуемый формат строки.Это будет ждать 2 секунды:
Формат есть
hh:mi:ss.mmm
.источник
Как уже упоминалось в других ответах, все следующее будет работать для стандартного синтаксиса на основе строк.
Существует также альтернативный метод передачи ему
DATETIME
значения. Вы можете подумать, что я путаю это сWAITFOR TIME
, но это тоже работаетWAITFOR DELAY
.Соображения для прохождения
DATETIME
:'1900-01-01'
).DATETIME
чем правильно форматировать aVARCHAR
.Как ждать 2 секунды:
Примечание о ожидании
TIME
противDELAY
:Вы когда-нибудь замечали, что если вы случайно пройдете
WAITFOR TIME
дату, которая уже прошла, хотя бы на секунду, она никогда не вернется? Проверьте это:К сожалению,
WAITFOR DELAY
будет делать то же самое, если вы передадите ему отрицательноеDATETIME
значение (да, это вещь).Тем не менее, я бы по-прежнему рекомендовал использовать в
WAITFOR DELAY
течение статического времени, потому что вы всегда можете подтвердить, что ваша задержка положительна, и она останется такой, сколько бы времени ни потребовалось вашему коду, чтобы достичьWAITFOR
утверждения.источник
Как насчет этого?
Если у вас есть «00:02», это означает, что часы: минуты.
источник
Попробуйте этот пример:
Это весь сценарий:
источник