Bagaimana seseorang menyebabkan keterlambatan dalam eksekusi untuk jumlah detik tertentu?
Ini tidak melakukannya:
WAITFOR DELAY '00:02';
Apa format yang benar?
Bagaimana seseorang menyebabkan keterlambatan dalam eksekusi untuk jumlah detik tertentu?
Ini tidak melakukannya:
WAITFOR DELAY '00:02';
Apa format yang benar?
Jawaban:
Dokumentasi untuk
WAITFOR()
tidak secara eksplisit menjabarkan format string yang diperlukan.Ini akan menunggu selama 2 detik:
Formatnya adalah
hh:mi:ss.mmm
.sumber
Seperti disebutkan dalam jawaban lain, semua yang berikut ini akan berfungsi untuk sintaks berbasis string standar.
Ada juga metode alternatif untuk memberikan
DATETIME
nilai. Anda mungkin berpikir saya membingungkan iniWAITFOR TIME
, tetapi juga berfungsi untukWAITFOR DELAY
.Pertimbangan untuk lulus
DATETIME
:'1900-01-01'
).DATETIME
daripada memformat aVARCHAR
.Cara menunggu 2 detik:
Catatan tentang menunggu
TIME
vsDELAY
:Pernahkah Anda memperhatikan bahwa jika Anda secara tidak sengaja melewati
WAITFOR TIME
tanggal yang telah berlalu, bahkan hanya dalam sedetik, itu tidak akan pernah kembali? Saksikan berikut ini:Sayangnya,
WAITFOR DELAY
akan melakukan hal yang sama jika Anda memberikanDATETIME
nilai negatif (ya, itu hal).Namun, saya masih akan merekomendasikan menggunakan
WAITFOR DELAY
lebih dari waktu statis karena Anda selalu dapat mengkonfirmasi keterlambatan Anda positif dan akan tetap seperti itu selama berapa lama waktu yang dibutuhkan kode Anda untuk mencapaiWAITFOR
pernyataan.sumber
Bagaimana dengan ini?
Jika Anda memiliki "00:02" itu menafsirkannya sebagai Jam: Menit.
sumber
Coba contoh ini:
Ini adalah keseluruhan skrip:
sumber