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 सेकंड बढ़ा हुआ है।