MySQL NOW() এবং SYSDATE() ফাংশন বর্তমান টাইমস্ট্যাম্প মান প্রদান করে। কিন্তু তাদের উভয়ের আউটপুট নির্বাহের সময়ের উপর নির্ভর করে। এটি তাদের মধ্যে বড় পার্থক্য তৈরি করে।
NOW() ফাংশন একটি স্থির সময় প্রদান করে যা নির্দিষ্ট বিবৃতিটি চালানো শুরু করার সময় নির্দেশ করে। বিপরীতে, SYSDATE() ফাংশনটি সঠিক সময় প্রদান করে যেখানে বিবৃতিটি কার্যকর হয়। নিম্নলিখিত উদাহরণ এই ফাংশনগুলির মধ্যে পার্থক্য দেখাবে −
mysql> Select NOW(), SLEEP(5), NOW(); +---------------------+----------+---------------------+ | NOW() | SLEEP(5) | NOW() | +---------------------+----------+---------------------+ | 2017-10-31 09:57:36 | 0 | 2017-10-31 09:57:36 | +---------------------+----------+---------------------+ 1 row in set (5.11 sec)
উপরের ক্যোয়ারীটি দেখায় যে NOW() ফাংশনটি যে সময়ে এটি কার্যকর করা শুরু করেছে তা ফেরত দেয় কারণ সিস্টেম স্লিপের 5 সেকেন্ড পরেও এটি একই মান ফেরত দেয়৷
mysql> Select SYSDATE(), SLEEP(5), SYSDATE(); +---------------------+----------+---------------------+ | SYSDATE() | SLEEP(5) | SYSDATE() | +---------------------+----------+---------------------+ | 2017-10-31 09:58:13 | 0 | 2017-10-31 09:58:18 | +---------------------+----------+---------------------+ 1 row in set (5.00 sec)
তুলনাতে, উপরের ক্যোয়ারীটি দেখায় যে SYSDATE() ফাংশনটি যে সময়টি কার্যকর করে সেই সময়টি ফেরত দেয় কারণ সিস্টেম স্লিপের 5 সেকেন্ড পরে এটি সেই মানটি ফেরত দেয় যা আসলে 5 সেকেন্ড বেড়ে যায়৷