কীভাবে একজন নির্দিষ্ট সংখ্যক সেকেন্ডের জন্য মৃত্যুদন্ড কার্যকর করতে বিলম্ব ঘটায়?
এটি এটি করে না:
WAITFOR DELAY '00:02';
সঠিক বিন্যাসটি কী?
কীভাবে একজন নির্দিষ্ট সংখ্যক সেকেন্ডের জন্য মৃত্যুদন্ড কার্যকর করতে বিলম্ব ঘটায়?
এটি এটি করে না:
WAITFOR DELAY '00:02';
সঠিক বিন্যাসটি কী?
উত্তর:
এর জন্য ডকুমেন্টেশনটিWAITFOR()
স্পষ্টভাবে প্রয়োজনীয় স্ট্রিং ফর্ম্যাটটি দেয় না।
এটি 2 সেকেন্ডের জন্য অপেক্ষা করবে:
WAITFOR DELAY '00:00:02';
বিন্যাসটি হ'ল hh:mi:ss.mmm
।
অন্যান্য উত্তরে উল্লিখিত হিসাবে, নীচের সমস্তগুলি স্ট্যান্ডার্ড স্ট্রিং-ভিত্তিক সিনট্যাক্সের জন্য কাজ করবে।
WAITFOR DELAY '02:00' --Two hours
WAITFOR DELAY '00:02' --Two minutes
WAITFOR DELAY '00:00:02' --Two seconds
WAITFOR DELAY '00:00:00.200' --Two tenths of a seconds
এটির DATETIME
মান পাস করার বিকল্প পদ্ধতিও রয়েছে । আপনি হয়ত ভাবতে পারেন যে আমি WAITFOR TIME
এটির সাথে বিভ্রান্ত করছি তবে এটির জন্যও কাজ করে WAITFOR DELAY
।
পাস করার জন্য বিবেচনাগুলি DATETIME
:
'1900-01-01'
) এর পর থেকে সময় হিসাবে পরিমাপ করা হয় ।DATETIME
সঠিকভাবে বিন্যাস করার চেয়ে ম্যানিপুলেট করা খুব সহজ VARCHAR
।2 সেকেন্ডের জন্য কীভাবে অপেক্ষা করতে হবে:
--Example 1
DECLARE @Delay1 DATETIME
SELECT @Delay1 = '1900-01-01 00:00:02.000'
WAITFOR DELAY @Delay1
--Example 2
DECLARE @Delay2 DATETIME
SELECT @Delay2 = dateadd(SECOND, 2, convert(DATETIME, 0))
WAITFOR DELAY @Delay2
TIME
বনামের জন্য অপেক্ষা করার জন্য একটি নোট DELAY
:
আপনি কি কখনও খেয়াল করেছেন যে আপনি যদি দুর্ঘটনাক্রমে WAITFOR TIME
এমন একটি তারিখ পাস হয়ে যান যা ইতিমধ্যে কেবল এক সেকেন্ডের মধ্যে দিয়ে যায় তবে তা কখনই ফিরে আসবে না? এটা দেখ:
--Example 3
DECLARE @Time1 DATETIME
SELECT @Time1 = getdate()
WAITFOR DELAY '00:00:01'
WAITFOR TIME @Time1 --WILL HANG FOREVER
দুর্ভাগ্যক্রমে, WAITFOR DELAY
যদি আপনি এটি একটি নেতিবাচক DATETIME
মান পাস করেন তবে একই জিনিস করবেন (হ্যাঁ, এটি একটি জিনিস)।
--Example 4
DECLARE @Delay3 DATETIME
SELECT @Delay3 = dateadd(SECOND, -1, convert(DATETIME, 0))
WAITFOR DELAY @Delay3 --WILL HANG FOREVER
যাইহোক, আমি এখনও WAITFOR DELAY
একটি স্থির সময় ব্যবহার করার পরামর্শ দেব কারণ আপনি সর্বদা আপনার বিলম্বকে ইতিবাচক বলে নিশ্চিত করতে পারেন এবং এটি আপনার কোডটি WAITFOR
বিবৃতিতে পৌঁছাতে বেশিক্ষণ ধরে থাকবে ।