1. MySQL NOW() फ़ंक्शन का अवलोकन
MySQL NOW() फ़ंक्शन का उपयोग डेटाबेस के भीतर वर्तमान तिथि और समय को आसानी से प्राप्त करने के लिए किया जाता है। NOW() फ़ंक्शन का उपयोग करके आप डेटा डालते समय टाइमस्टैम्प प्राप्त कर सकते हैं या लॉगिंग उद्देश्यों के लिए उपयोगी समय जानकारी प्राप्त कर सकते हैं। यद्यपि सरल है, यह एक बहुत ही शक्तिशाली उपकरण है जो व्यापक रूप से उपयोग किया जाता है।
NOW() फ़ंक्शन की मूल सिंटैक्स
NOW() फ़ंक्शन की सिंटैक्स बहुत सरल है। आप निम्नलिखित क्वेरी के साथ वर्तमान तिथि और समय प्राप्त कर सकते हैं।
SELECT NOW();
कार्यान्वयन परिणाम YYYY-MM-DD HH:MM:SS स्वरूप में लौटाया जाता है। उदाहरण के लिए, यदि तिथि और समय 24 अक्टूबर, 2024 को 16:30 है, तो परिणाम इस प्रकार होगा।
2024-10-24 16:30:00
NOW() फ़ंक्शन डेटाबेस टाइम ज़ोन के आधार पर वर्तमान तिथि और समय लौटाता है। यह पूरे सिस्टम में सुसंगत समय प्रबंधन की अनुमति देता है।
NOW() फ़ंक्शन के सामान्य उपयोग केस
NOW() फ़ंक्शन निम्नलिखित स्थितियों में विशेष रूप से उपयोगी है।
- Logging : डेटा संशोधित या डाला जाने पर समय को स्वचालित रूप से रिकॉर्ड करता है।
- Timestamps : उपयोगकर्ता क्रियाओं के समय को रिकॉर्ड करने के लिए उपयोग किया जाता है।
- Time-dependent filtering : किसी विशिष्ट अवधि में हुई डेटा को निकालना।
2. NOW() फ़ंक्शन के बुनियादी उपयोग उदाहरण
आइए NOW() फ़ंक्शन का उपयोग करके वर्तमान तिथि और समय प्राप्त करने के बुनियादी उदाहरण देखें।
SELECT NOW();
यह क्वेरी वर्तमान तिथि और समय लौटाती है। इसे स्ट्रिंग के रूप में प्राप्त करने के अलावा, आप इसे संख्यात्मक स्वरूप में भी प्राप्त कर सकते हैं। निम्नलिखित क्वेरी का उपयोग करके, वर्तमान तिथि और समय संख्यात्मक स्वरूप (YYYYMMDDHHMMSS) में लौटाए जाते हैं।
SELECT NOW() + 0;
उदाहरण के लिए, परिणाम “20241024163000” के रूप में लौटाया जा सकता है, जो मान को संख्यात्मक रूप से संभालने में सुविधाजनक है।
भिन्न सेकंड सटीकता निर्दिष्ट करना
NOW() फ़ंक्शन आपको भिन्न सेकंड सटीकता निर्दिष्ट करने की अनुमति देता है। आप नीचे दिखाए गए तर्क का उपयोग करके सटीकता सेट कर सकते हैं।
SELECT NOW(3);
यह क्वेरी मिलीसेकंड सटीकता (दशमलव बिंदु के बाद तीन अंक) के साथ परिणाम लौटाती है। उदाहरण के लिए, यह “2024-10-24 16:30:00.123” जैसी मान लौटा सकती है। यह सुविधा उन सिस्टमों में अत्यंत उपयोगी है जिन्हें सेकंड-स्तर की सटीकता की आवश्यकता होती है।
3. SYSDATE() और NOW() के बीच अंतर
NOW() के समान एक फ़ंक्शन SYSDATE() है, लेकिन उनका व्यवहार थोड़ा अलग होता है।
- NOW() : क्वेरी निष्पादन की शुरुआत में समय प्राप्त करता है और पूरे स्टेटमेंट में समान मान बनाए रखता है। भले ही लेनदेन लंबे समय तक चले, यह वही परिणाम लौटाता है।
- SYSDATE() : क्वेरी के प्रत्येक चरण में वर्तमान समय प्राप्त करता है। अर्थात, लंबे समय तक चलने वाले लेनदेन के दौरान भी यह वास्तविक समय का वर्तमान समय लौटाता है।
उदाहरण के लिए, लंबे समय तक चलने वाली बैच प्रक्रियाओं में SYSDATE() अधिक सटीक वास्तविक समय परिणाम प्रदान कर सकता है। हालांकि, जब लेनदेन की स्थिरता महत्वपूर्ण हो, तो सामान्यतः NOW() की सिफारिश की जाती है।
क्वेरी के भीतर अंतर दर्शाने वाला उदाहरण
निम्नलिखित क्वेरी SYSDATE() और NOW() के व्यवहार में अंतर को दर्शाती है।
SELECT NOW(), SYSDATE();
परिणाम इस प्रकार दिख सकता है।
NOW(): 2024-10-24 16:30:00
SYSDATE(): 2024-10-24 16:30:01
क्वेरी के निष्पादन के क्षण का समय अंतर SYSDATE() में परिलक्षित होता है, जबकि NOW() क्वेरी निष्पादन की शुरुआत के समय को बनाए रखता है। अंतर सूक्ष्म हो सकता है, लेकिन उपयोग केस के अनुसार उपयुक्त फ़ंक्शन चुनना महत्वपूर्ण है।

4. NOW() फ़ंक्शन के व्यावहारिक अनुप्रयोग
NOW() फ़ंक्शन विशिष्ट परिदृश्यों में बहुत उपयोगी है। उदाहरण के लिए, यदि आप डेटा डालते समय तिथि और समय को स्वचालित रूप से रिकॉर्ड करना चाहते हैं, तो आप नीचे दिखाए अनुसार NOW() फ़ंक्शन का उपयोग कर सकते हैं।
INSERT INTO users (username, created_at)
VALUES ('example_user', NOW());
यह रिकॉर्ड डाला जाने पर created_at कॉलम में वर्तमान समय को स्वचालित रूप से रिकॉर्ड करता है। यह सुविधा लॉगिंग और इवेंट ट्रैकिंग के लिए विशेष रूप से मूल्यवान है।
इसके अलावा, यदि आप पिछले सात दिनों में बनाए गए डेटा को पुनः प्राप्त करना चाहते हैं, तो आप NOW() फ़ंक्शन का उपयोग निम्नानुसार कर सकते हैं।
SELECT * FROM orders
WHERE order_date >= NOW() - INTERVAL 7 DAY;
यह क्वेरी वर्तमान तिथि और समय से पिछले सात दिनों में बनाए गए सभी रिकॉर्ड्स को पुनः प्राप्त करती है। NOW() फ़ंक्शन समय-निर्भर डेटा निष्कर्षण के लिए अत्यंत प्रभावी है।
5. NOW() फ़ंक्शन का उपयोग करते समय महत्वपूर्ण विचारणीय बिंदु
NOW() फ़ंक्शन का उपयोग करते समय विचार करने के लिए कई महत्वपूर्ण बिंदु हैं। विशेष रूप से, यह ट्रांजेक्शन की स्थिरता को प्रभावित कर सकता है, इसलिए संदर्भ के अनुसार इसका उचित उपयोग करना महत्वपूर्ण है।
- ट्रांजेक्शनों के अंदर व्यवहार : NOW() फ़ंक्शन एक ट्रांजेक्शन के अंदर सुसंगत परिणाम लौटाता है, जिसका अर्थ है कि यह लंबे चलने वाली प्रक्रियाओं के दौरान भी एक ही टाइमस्टैंप लौटाता है। यह डेटा स्थिरता बनाए रखने के लिए महत्वपूर्ण है। हालांकि, यदि वास्तविक समय के टाइमस्टैंप की आवश्यकता है, तो SYSDATE() का उपयोग अधिक उपयुक्त है।
इसके अलावा, क्योंकि NOW() फ़ंक्शन समय क्षेत्र सेटिंग पर निर्भर करता है, यह सिस्टम कॉन्फ़िगरेशन के आधार पर विभिन्न परिणाम लौटा सकता है। वैश्विक अनुप्रयोगों में, समय क्षेत्र विचारों को ध्यान में रखते हुए डिज़ाइन करना आवश्यक है।


