1. MySQL NOW() कार्यको अवलोकन
MySQL NOW() कार्यलाई डेटाबेसभित्रको वर्तमान मिति र समय सजिलै प्राप्त गर्न प्रयोग गरिन्छ। NOW() प्रयोग गरेर, तपाईँले डेटा इन्सर्ट वा लगिङको लागि उपयोगी टाइमस्ट्याम्प जानकारी प्राप्त गर्न सक्नुहुन्छ। यसको सरलता भएता पनि, यो व्यावहारिक रूपमा व्यापक रूपमा प्रयोग हुने शक्तिशाली उपकरण हो।
NOW() को आधारभूत सिन्ट्याक्स
NOW() कार्यको सिन्ट्याक्स अत्यन्तै सरल छ। तलको क्वेरीले वर्तमान मिति र समय फिर्ता गर्छ:
SELECT NOW();
परिणाम YYYY-MM-DD HH:MM:SS ढाँचामा फिर्ता हुन्छ। उदाहरणका लागि, यदि मिति र समय अक्टोबर २४, २०२४, १६:३० हो भने, परिणाम यस प्रकार हुनेछ:
2024-10-24 16:30:00
अतिरिक्त रूपमा, NOW() कार्यले डेटाबेसको टाइम जोनमा आधारित वर्तमान मिति र समय फिर्ता गर्छ। यसले सम्पूर्ण प्रणालीमा समय व्यवस्थापनलाई सुसंगत बनाउँछ।
NOW() को प्रयोग केसहरू
NOW() कार्य विशेष गरी तलका परिस्थितिहरूमा उपयोगी हुन्छ:
- Logging : डेटा परिमार्जन वा इन्सर्टको समय स्वचालित रूपमा रेकर्ड गर्नुहोस्।
- Timestamps : प्रयोगकर्ता कार्यहरूको समय ट्र्याक गर्नुहोस्।
- Time-based 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() कार्य विशेष परिस्थितिहरूमा अत्यन्त उपयोगी हुन्छ। उदाहरणका लागि, डेटा इन्सर्टको समय स्वचालित रूपमा रेकर्ड गर्न:
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() फङ्क्सन प्रणालीको समय क्षेत्रमा निर्भर गर्दछ, जसको मतलब सेटिङहरू अनुसार परिणामहरू फरक हुन सक्छन्। वैश्विक अनुप्रयोगहरूको लागि, यो कारकलाई डिजाइनको समयमा सावधानीपूर्वक विचार गर्नुपर्छ।


