MySQL वर्तमान टाइमस्टैम्प: वर्तमान तिथि और समय कैसे प्राप्त करें (NOW, SYSDATE, UTC_TIMESTAMP)

目次

1. परिचय

MySQL में वर्तमान समय प्राप्त करना डेटाबेस प्रबंधन का एक महत्वपूर्ण हिस्सा है।
उदाहरण के लिए, आपको निम्नलिखित स्थितियों में वर्तमान समय प्राप्त करने की आवश्यकता हो सकती है:

  • डेटा डालते समय स्वचालित रूप से निर्माण टाइमस्टैम्प रिकॉर्ड करना (उदाहरण के लिए, जब नया उपयोगकर्ता साइन अप करता है तो एक टाइमस्टैम्प)
  • उपयोगकर्ता लॉगिन समय को लॉग करना (उदाहरण के लिए, लॉगिन इतिहास प्रबंधित करना)
  • एक निश्चित समय सीमा के भीतर डेटा प्राप्त करना (उदाहरण के लिए, पिछले 24 घंटों की ऑर्डर हिस्ट्री लाना)
  • सिस्टम निष्पादन लॉग रिकॉर्ड करना (उदाहरण के लिए, त्रुटि लॉग और इवेंट लॉग प्रबंधित करना)

जैसा कि आप देख सकते हैं, डेटा प्रबंधन और लॉगिंग के लिए “वर्तमान समय” को सही ढंग से प्राप्त करना डेटाबेस संचालन के लिए आवश्यक है।

इस लेख में, हम वास्तविक SQL क्वेरीज़ का उपयोग करके MySQL में वर्तमान समय कैसे प्राप्त करें को विस्तार से समझाएंगे।
हम सामान्यतः उपयोग किए जाने वाले फ़ंक्शनों के बीच अंतर, सही फ़ंक्शन कैसे चुनें, और व्यावहारिक क्वेरी उदाहरणों को भी कवर करेंगे—जो शुरुआती से मध्यवर्ती उपयोगकर्ताओं के लिए उपयोगी हैं।

2. MySQL फ़ंक्शन वर्तमान तिथि/समय प्राप्त करने के लिए (तुलनात्मक तालिका)

MySQL वर्तमान समय प्राप्त करने के लिए कई फ़ंक्शन प्रदान करता है।
आपके उपयोग केस के लिए सही फ़ंक्शन चुनना महत्वपूर्ण है, लेकिन कई लोग अंतर को समझने में भ्रमित होते हैं।

इस भाग में, हम MySQL में वर्तमान तिथि/समय प्राप्त करने के लिए उपयोग किए जाने वाले मुख्य फ़ंक्शन की तुलना करते हैं और उनके गुणों को विस्तार से समझाते हैं।

2.1 MySQL समय फ़ंक्शन की तुलना तालिका

FunctionWhat it returnsFormatNotes
NOW()Current date and timeYYYY-MM-DD HH:MM:SSMost commonly used
SYSDATE()Date and time at executionYYYY-MM-DD HH:MM:SSUnlike NOW(), it can change on each execution
CURTIME()Current timeHH:MM:SSTime only (no date)
CURRENT_TIME()Current timeHH:MM:SSSame as CURTIME()
CURRENT_TIMESTAMP()Current date and timeYYYY-MM-DD HH:MM:SSAlmost the same as NOW()
UTC_TIMESTAMP()Current UTC date and timeYYYY-MM-DD HH:MM:SSTime zone is fixed to UTC

ऊपर की तालिका से, अधिकांश फ़ंक्शन “वर्तमान तिथि और समय” या “वर्तमान समय” लौटाते हैं, लेकिन सर्वश्रेष्ठ फ़ंक्शन आपके उद्देश्य पर निर्भर करता है

2.2 प्रत्येक फ़ंक्शन का अवलोकन और विशेषताएँ

NOW() फ़ंक्शन

  • वर्तमान तिथि और समय प्राप्त करने का सबसे सामान्य फ़ंक्शन
  • SQL कथन शुरू होने के क्षण का समय लौटाता है
  • डेटा डालते या अपडेट करते समय टाइमस्टैम्प के लिए अक्सर उपयोग किया जाता है
    SELECT NOW();
    

उदाहरण आउटपुट

2025-02-14 15:30:45

SYSDATE() फ़ंक्शन

  • निष्पादन के क्षण पर वर्तमान समय प्राप्त करता है
  • NOW() के विपरीत, SYSDATE() हर बार मूल्यांकन पर अलग मान लौटा सकता है (यह लेनदेन के भीतर भी बदल सकता है)
    SELECT SYSDATE();
    

उदाहरण आउटपुट

2025-02-14 15:30:47

CURTIME() फ़ंक्शन

  • केवल समय (HH:MM:SS) प्राप्त करता है
  • जब तिथि की आवश्यकता नहीं होती तो उपयोगी
    SELECT CURTIME();
    

उदाहरण आउटपुट

15:30:45

CURRENT_TIME() फ़ंक्शन

  • CURTIME() के समान कार्य करता है
  • फ़ंक्शन नाम SQL मानक के अनुरूप है
    SELECT CURRENT_TIME();
    

उदाहरण आउटपुट

15:30:45

CURRENT_TIMESTAMP() फ़ंक्शन

  • NOW() की तरह व्यवहार करता है
  • इसे कॉलम के DEFAULT मान के रूप में निर्दिष्ट किया जा सकता है (डिफ़ॉल्ट के लिए अक्सर NOW() से अधिक उपयुक्त)
    SELECT CURRENT_TIMESTAMP();
    

उदाहरण आउटपुट

2025-02-14 15:30:45

तालिका बनाते समय डिफ़ॉल्ट मान के रूप में सेट करें:

CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

UTC_TIMESTAMP() फ़ंक्शन

  • वर्तमान UTC (समन्वित सार्वभौमिक समय) प्राप्त करता है
  • सर्वर टाइम ज़ोन पर निर्भर नहीं, जिससे सुसंगत टाइमस्टैम्प मिलते हैं
    SELECT UTC_TIMESTAMP();
    

उदाहरण आउटपुट

2025-02-14 06:30:45

2.3 आपको कौन सा फ़ंक्शन उपयोग करना चाहिए?

Use caseRecommended function
Get the current date and timeNOW()
Get a different timestamp each time within a transactionSYSDATE()
Need only the current time (HH:MM:SS)CURTIME() or CURRENT_TIME()
Set as a table default valueCURRENT_TIMESTAMP()
Get UTC timeUTC_TIMESTAMP()

सामान्यतः, सामान्य तिथि/समय प्राप्ति के लिए, NOW() आमतौर पर सही विकल्प है।
हालांकि, आपके उपयोग केस के लिए सर्वोत्तम फ़ंक्शन का चयन अधिक लचीले और विश्वसनीय डेटा संचालन की अनुमति देता है।

3. NOW() फ़ंक्शन विवरण

MySQL NOW() फ़ंक्शन वर्तमान तिथि और समय (date + time) प्राप्त करने के लिए सबसे अधिक उपयोग किया जाने वाला फ़ंक्शन है।
यह डेटाबेस में टाइमस्टैम्प संग्रहीत करने और विशिष्ट समय सीमा के भीतर डेटा प्राप्त करने के लिए व्यापक रूप से उपयोग किया जाता है।

3.1 NOW() का मूल उपयोग

NOW() की सिंटैक्स

SELECT NOW();

उदाहरण आउटपुट

2025-02-14 15:30:45
  • आउटपुट फ़ॉर्मेट YYYY-MM-DD HH:MM:SS है (वर्ष-महीना-दिन घंटा:मिनट:सेकंड)।
  • समय MySQL की डिफ़ॉल्ट टाइम ज़ोन सेटिंग्स के आधार पर प्राप्त किया जाता है.

3.2 NOW() के सामान्य उपयोग केस

① डेटा डालते समय वर्तमान समय रिकॉर्ड करें

डेटाबेस में डेटा डालते समय, आप NOW() का उपयोग करके निर्माण टाइमस्टैम्प रिकॉर्ड कर सकते हैं।

INSERT INTO users (name, created_at) VALUES ('Sato', NOW());

② डेटा अपडेट करते समय वर्तमान समय रिकॉर्ड करें

UPDATE users SET last_login = NOW() WHERE id = 1;

③ किसी निश्चित समय अवधि से डेटा प्राप्त करें

SELECT * FROM orders WHERE order_date >= NOW() - INTERVAL 1 DAY;
  • INTERVAL 1 DAY निर्दिष्ट करके, आप “पिछले 1 दिन का डेटा” प्राप्त कर सकते हैं।

3.3 रिटर्न टाइप और आउटपुट फ़ॉर्मेट कैसे बदलें

NOW() का रिटर्न टाइप

  • DATETIME प्रकार (YYYY-MM-DD HH:MM:SS)
  • इसे स्ट्रिंग के रूप में भी माना जा सकता है
    SELECT NOW(), typeof(NOW());
    

फ़ॉर्मेट कैसे बदलें

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS formatted_time;

उदाहरण आउटपुट

2025-02-14 15:30:45

3.4 NOW() और SYSDATE() के बीच अंतर

FunctionWhen it’s evaluatedNotes
NOW()At query startReturns a fixed timestamp for the statement
SYSDATE()At execution timeCan return different timestamps within the same statement
SELECT NOW(), SLEEP(3), NOW();
SELECT SYSDATE(), SLEEP(3), SYSDATE();

उदाहरण आउटपुट

NOW()        | SLEEP(3) | NOW()
2025-02-14 15:30:45 | wait 3 seconds | 2025-02-14 15:30:45
SYSDATE()    | SLEEP(3) | SYSDATE()
2025-02-14 15:30:45 | wait 3 seconds | 2025-02-14 15:30:48

🚨 यदि आप ट्रांज़ैक्शन के साथ काम कर रहे हैं, तो स्थिरता के लिए NOW() की सिफारिश की जाती है।

3.5 NOW() की सीमाएँ और नोट्स

① टाइम ज़ोन पर निर्भर करता है

SELECT CONVERT_TZ(NOW(), 'UTC', 'Asia/Tokyo');

② टेबल डिफ़ॉल्ट वैल्यूज़ के लिए, CURRENT_TIMESTAMP का उपयोग करें

CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

3.6 NOW() का सारांश

  • NOW() MySQL में वर्तमान तिथि और समय प्राप्त करने का सबसे सामान्य फ़ंक्शन है।
  • इसे इन्सर्ट, अपडेट और समय-आधारित डेटा प्राप्त करने के लिए उपयोग किया जा सकता है।
  • ट्रांज़ैक्शन के भीतर एक स्थिर टाइमस्टैम्प की आवश्यकता होने पर NOW() का उपयोग करें।
  • SYSDATE() प्रत्येक मूल्यांकन पर अलग समय लौटाता है, इसलिए जब आपको सटीक निष्पादन समय चाहिए तब इसका उपयोग करें।
  • विभिन्न टाइम ज़ोन में समय प्राप्त करने के लिए CONVERT_TZ() का उपयोग करें।

📌 निष्कर्ष: अधिकांश मामलों में, MySQL में वर्तमान तिथि और समय प्राप्त करने के लिए NOW() सबसे अच्छा विकल्प है।

4. SYSDATE() फ़ंक्शन की विशेषताएँ

SYSDATE() फ़ंक्शन MySQL में वर्तमान तिथि और समय प्राप्त करने का एक और तरीका है, लेकिन यह NOW() से अलग व्यवहार करता है।
इस सेक्शन में, हम SYSDATE() के बेसिक उपयोग, यह NOW() से कैसे अलग है, और महत्वपूर्ण नोट्स समझाएंगे।

4.1 SYSDATE() क्या है?

SYSDATE() एक फ़ंक्शन है जो स्टेटमेंट के निष्पादन समय का समय लौटाता है
NOW() के विपरीत, यह हर बार मूल्यांकन पर अलग टाइमस्टैम्प लौटाता है

SYSDATE() सिंटैक्स

SELECT SYSDATE();

उदाहरण आउटपुट

2025-02-14 16:00:45
  • YYYY-MM-DD HH:MM:SS फ़ॉर्मेट में लौटाया गया
  • यह क्वेरी के निष्पादन के क्षण को दर्शाता है

4.2 SYSDATE() और NOW() के बीच अंतर

FunctionWhen it’s evaluatedNotes
NOW()At query startReturns a fixed timestamp for the statement
SYSDATE()At execution timeReturns a different timestamp each time

व्यवहार तुलना: NOW() बनाम SYSDATE()

SELECT NOW(), SLEEP(3), NOW();
SELECT SYSDATE(), SLEEP(3), SYSDATE();

उदाहरण आउटपुट

NOW()        | SLEEP(3) | NOW()
2025-02-14 16:00:45 | wait 3 seconds | 2025-02-14 16:00:45
SYSDATE()    | SLEEP(3) | SYSDATE()
2025-02-14 16:00:45 | wait 3 seconds | 2025-02-14 16:00:48

📌 मुख्य बिंदु

  • NOW() स्टेटमेंट की शुरुआत से टाइमस्टैम्प रखता है, इसलिए यह नहीं बदलता।
  • SYSDATE() हर बार मूल्यांकन पर अलग टाइमस्टैम्प लौटाता है, इसलिए यह 3 सेकंड के बाद बदलता है.

🚨 ट्रांज़ैक्शन प्रोसेसिंग के लिए NOW() का उपयोग करें

  • क्योंकि SYSDATE() मल्टी-थ्रेडेड वातावरण में NOW() से अलग व्यवहार कर सकता है, ट्रांज़ैक्शनल स्थिरता के लिए सामान्यतः NOW() की सिफारिश की जाती है

4.3 SYSDATE() के उपयोग के उदाहरण

① डेटा डालते समय वर्तमान समय को रिकॉर्ड करें

INSERT INTO logs (event, created_at) VALUES ('User login', SYSDATE());

② डेटा अपडेट करते समय वर्तमान समय को रिकॉर्ड करें

UPDATE users SET last_login = SYSDATE() WHERE id = 1;

③ विशिष्ट प्रारूप में वर्तमान समय प्राप्त करें

SELECT DATE_FORMAT(SYSDATE(), '%Y-%m-%d %H:%i:%s') AS formatted_time;

उदाहरण आउटपुट

2025-02-14 16:05:30

4.4 SYSDATE() के लिए सीमाएँ और नोट्स

① लेन‑देन व्यवहार

  • NOW() वाक्य के शुरू से टाइमस्टैम्प को रखता है, इसलिए इसे लेन‑देन के भीतर लगातार उपयोग किया जा सकता है।
  • SYSDATE() हर बार अलग टाइमस्टैम्प लौटाता है, इसलिए लेन‑देन के भीतर समय में विचलन हो सकता है।

② डिफ़ॉल्ट मान के रूप में उपयोग नहीं किया जा सकता

  • SYSDATE() टेबल कॉलम के DEFAULT मान के रूप में सेट नहीं किया जा सकता

समाधान: DEFAULT CURRENT_TIMESTAMP का उपयोग करें।

CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

4.5 आपको SYSDATE() कब उपयोग करना चाहिए?

Use caseRecommended function
Typical current timestamp retrievalNOW()
Use a consistent timestamp within a transactionNOW()
Need the exact execution timeSYSDATE()

🚀 SYSDATE() वास्तविक‑समय लॉगिंग के लिए उपयुक्त है, लेकिन लेन‑देन प्रोसेसिंग के लिए आदर्श नहीं है।

4.6 SYSDATE() का सारांश

  • SYSDATE() निष्पादन समय पर टाइमस्टैम्प प्राप्त करता है, जबकि NOW() नहीं।
  • क्योंकि यह हर बार अलग मान लौटाता है, यह वास्तविक‑समय लॉगिंग के लिए उपयोगी है।
  • लेन‑देन की स्थिरता के लिए NOW() की सिफारिश की जाती है।
  • डिफ़ॉल्ट मानों के लिए CURRENT_TIMESTAMP का उपयोग करें।

📌 निष्कर्ष: सामान्य टाइमस्टैम्प प्राप्ति के लिए NOW() सबसे अच्छा है; सटीक निष्पादन समय के लिए SYSDATE() चुनें।

5. CURTIME() और CURRENT_TIME()

जब आप MySQL में वर्तमान समय प्राप्त करना चाहते हैं, तो CURTIME() और CURRENT_TIME() का उपयोग तब किया जाता है जब आपको केवल समय (HH:MM:SS) चाहिए।
इस अनुभाग में, हम प्रत्येक के बुनियादी उपयोग, अंतर, और व्यावहारिक उदाहरणों की व्याख्या करेंगे।

5.1 CURTIME() क्या है?

CURTIME() MySQL में एक फ़ंक्शन है जो वर्तमान समय (घंटा, मिनट, सेकंड) प्राप्त करता है।
इसकी मुख्य विशेषता यह है कि यह तिथि शामिल नहीं करता—केवल समय भाग लौटाता है

CURTIME() सिंटैक्स

SELECT CURTIME();

उदाहरण आउटपुट

16:30:45
  • फ़ॉर्मेट: HH:MM:SS
  • सर्वर टाइम ज़ोन सेटिंग पर निर्भर करता है
  • NOW() के विपरीत, यह तब उपयुक्त है जब आपको तिथि जानकारी की आवश्यकता नहीं है

5.2 CURRENT_TIME() क्या है?

CURRENT_TIME(), CURTIME() की तरह, एक फ़ंक्शन है जो वर्तमान समय (HH:MM:SS) प्राप्त करता है।
व्यावहारिक रूप से, यह बिल्कुल CURTIME() जैसा ही व्यवहार करता है

CURRENT_TIME() सिंटैक्स

SELECT CURRENT_TIME();

उदाहरण आउटपुट

16:30:45

📌 क्या अंतर है?

  • CURTIME() MySQL‑विशिष्ट है
  • CURRENT_TIME() SQL‑मानक है
  • वे समान व्यवहार करते हैं
  • पढ़ने की सुविधा के आधार पर चुनें (प्रदर्शन में कोई अंतर नहीं)

5.3 CURTIME() बनाम CURRENT_TIME() (तुलना)

FunctionWhat it returnsFormatNotes
CURTIME()Current time (hour/minute/second)HH:MM:SSMySQL-specific function
CURRENT_TIME()Current time (hour/minute/second)HH:MM:SSSQL-standard function

5.4 CURTIME() / CURRENT_TIME() के व्यावहारिक उदाहरण

① डेटा डालते समय वर्तमान समय को रिकॉर्ड करें

INSERT INTO user_logs (event, event_time) VALUES ('Login', CURTIME());

② फ़िल्टरिंग (विशिष्ट समय सीमा के भीतर डेटा प्राप्त करना)

SELECT * FROM logs WHERE TIME(created_at) BETWEEN '09:00:00' AND '18:00:00';

③ सटीकता बदलें (मिलीसेकंड शामिल करें)

SELECT CURTIME(3);  -- Display up to 3 fractional digits

उदाहरण आउटपुट

16:30:45.123

5.5 CURTIME() / CURRENT_TIME() के लिए सीमाएँ और नोट्स

① कोई तिथि जानकारी नहीं, इसलिए आवश्यकता होने पर तिथि के साथ संयोजित करें

SELECT CONCAT(CURDATE(), ' ', CURTIME()) AS full_datetime;

② डिफ़ॉल्ट मान के रूप में उपयोग करते समय

CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    event_time TIME DEFAULT CURTIME()
);

5.6 आपको CURTIME() / CURRENT_TIME() कब उपयोग करना चाहिए?

Use caseRecommended function
Need only the current time (hour/minute/second)CURTIME() or CURRENT_TIME()
Need current date and timeNOW()
Need millisecond precisionCURTIME(3)

📌 अधिकांश मामलों में, CURTIME() या CURRENT_TIME() में से कोई भी ठीक काम करता है।
जो आपको अधिक पढ़ने योग्य लगे, उसे चुनें.

5.7 CURTIME() / CURRENT_TIME() का सारांश

  • CURTIME() MySQL-विशिष्ट है; CURRENT_TIME() SQL-मानक है
  • दोनों वर्तमान समय (HH:MM:SS) प्राप्त करते हैं
  • फ़ॉर्मेटिंग/प्रेसिशन को समायोजित करने के लिए CURTIME(3) या DATE_FORMAT() का उपयोग करें
  • यदि आपको तिथि चाहिए, तो CURDATE() के साथ मिलाएँ या NOW() का उपयोग करें
  • डिफ़ॉल्ट के लिए, आमतौर पर CURRENT_TIMESTAMP उपयोग किया जाता है

📌 निष्कर्ष: यदि आपको केवल वर्तमान समय चाहिए, तो CURTIME() एक ठोस विकल्प है।

6. वर्तमान समय का उपयोग करके व्यावहारिक क्वेरी उदाहरण

अब जब आप MySQL में वर्तमान समय प्राप्त करने का तरीका समझ गए हैं, चलिए इसे उपयोग करने के व्यावहारिक तरीकों को देखें।
इस अनुभाग में, हम वर्तमान समय का उपयोग करके वास्तविक दुनिया के क्वेरी उदाहरण प्रस्तुत करेंगे।
आप उन तकनीकों को सीखेंगे जो दैनिक डेटाबेस कार्यों जैसे इन्सर्ट, अपडेट और सर्च में उपयोगी हैं।

6.1 डेटा इन्सर्ट करते समय वर्तमान समय रिकॉर्ड करें

① जब उपयोगकर्ता पंजीकरण करता है तो वर्तमान समय रिकॉर्ड करें

INSERT INTO users (name, email, created_at) 
VALUES ('Sato', 'sato@example.com', NOW());

6.2 डेटा अपडेट करते समय वर्तमान समय रिकॉर्ड करें

② उपयोगकर्ता के अंतिम लॉगिन टाइमस्टैम्प को रिकॉर्ड करें

UPDATE users SET last_login = NOW() WHERE id = 1;

6.3 पिछले N दिनों का डेटा प्राप्त करें

③ पिछले 7 दिनों के ऑर्डर डेटा को प्राप्त करें

SELECT * FROM orders WHERE order_date >= NOW() - INTERVAL 7 DAY;

6.4 विशिष्ट समय सीमा के भीतर बनाए गए डेटा को प्राप्त करें

④ आज 9:00 बजे सुबह से 6:00 बजे शाम के बीच बनाए गए डेटा को प्राप्त करें

SELECT * FROM logs WHERE TIME(created_at) BETWEEN '09:00:00' AND '18:00:00';

6.5 समय क्षेत्रों को ध्यान में रखते हुए वर्तमान समय प्राप्त करें

⑤ UTC समय को जापान समय (JST) में बदलें

SELECT CONVERT_TZ(NOW(), 'UTC', 'Asia/Tokyo');

6.6 रिकॉर्ड निर्माण समय को डिफ़ॉल्ट रूप से वर्तमान टाइमस्टैम्प पर सेट करें

⑥ created_at को स्वचालित रूप से वर्तमान टाइमस्टैम्प पर सेट करें

CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    event VARCHAR(255),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

6.7 कुछ समय के बाद डेटा हटाएँ

⑦ 30 दिनों से पुराने डेटा को हटाएँ

DELETE FROM logs WHERE created_at < NOW() - INTERVAL 30 DAY;

6.8 मिलीसेकंड (माइक्रोसेकंड) प्रिसीजन के साथ वर्तमान समय प्राप्त करें

⑧ मिलीसेकंड प्रिसीजन के साथ वर्तमान टाइमस्टैम्प प्राप्त करें

SELECT NOW(3);

उदाहरण आउटपुट

2025-02-14 16:30:45.123

6.9 उपयोग‑केस चयन गाइड

Use caseRecommended functionExample
Record the current time when inserting dataNOW()INSERT INTO users (name, created_at) VALUES ('Sato', NOW());
Record the current time when updating dataNOW()UPDATE users SET last_login = NOW() WHERE id = 1;
Retrieve data from the past N daysNOW() - INTERVAL X DAYSELECT * FROM orders WHERE order_date >= NOW() - INTERVAL 7 DAY;
Retrieve data within a specific time rangeCURTIME()SELECT * FROM logs WHERE TIME(created_at) BETWEEN '09:00:00' AND '18:00:00';
Convert UTC time to JSTCONVERT_TZ()SELECT CONVERT_TZ(NOW(), 'UTC', 'Asia/Tokyo');
Delete old data (older than 30 days)NOW() - INTERVAL X DAYDELETE FROM logs WHERE created_at < NOW() - INTERVAL 30 DAY;

6.10 सारांश

  • NOW() बुनियादी वर्तमान टाइमस्टैम्प प्राप्ति को संभालता है
  • जब आपको केवल समय चाहिए, तो CURTIME() और CURRENT_TIME() उपयोगी होते हैं
  • आप वर्तमान समय का उपयोग टाइम‑विंडो क्वेरी, दिन के समय के फ़िल्टरिंग, और मिलीसेकंड प्रिसीजन टाइमस्टैम्प के लिए कर सकते हैं
  • क्योंकि टाइमस्टैम्प समय क्षेत्रों पर निर्भर करते हैं, सही समय पाने के लिए CONVERT_TZ() का उपयोग करें
  • डेटाबेस आकार प्रबंधन के लिए, पुराने डेटा को स्वचालित रूप से हटाने की व्यवस्था बनाना भी महत्वपूर्ण है

📌 निष्कर्ष: वर्तमान समय का प्रभावी उपयोग MySQL में डेटा को अधिक कुशलता से प्रबंधित करने में मदद करता है।

7. FAQ (अक्सर पूछे जाने वाले प्रश्न)

यहाँ MySQL में वर्तमान समय प्राप्त करने के बारे में अक्सर पूछे जाने वाले प्रश्न (FAQ) हैं।
प्रत्येक प्रश्न का उत्तर स्पष्ट और संक्षिप्त रूप से दिया गया है।

7.1 NOW() और SYSDATE() में क्या अंतर है?

उत्तर

दोनों NOW() और SYSDATE() वर्तमान तिथि और समय प्राप्त करते हैं, लेकिन वे मूल्य के मूल्यांकन के समय में भिन्न होते हैं।

FunctionWhen it’s evaluatedNotes
NOW()At query startReturns a fixed timestamp for the statement
SYSDATE()At execution timeReturns a different timestamp on each evaluation

परीक्षण उदाहरण

SELECT NOW(), SLEEP(3), NOW();
SELECT SYSDATE(), SLEEP(3), SYSDATE();

उदाहरण आउटपुट

NOW()        | SLEEP(3) | NOW()
2025-02-14 16:30:45 | wait 3 seconds | 2025-02-14 16:30:45
SYSDATE()    | SLEEP(3) | SYSDATE()
2025-02-14 16:30:45 | wait 3 seconds | 2025-02-14 16:30:48

🚨 लेन‑देन प्रोसेसिंग के लिए, आमतौर पर NOW() की सिफ़ारिश की जाती है।

7.2 क्या CURRENT_TIMESTAMP() और NOW() समान हैं?

उत्तर

वे लगभग समान व्यवहार करते हैं, लेकिन CURRENT_TIMESTAMP() डिफ़ॉल्ट मान के रूप में उपयोग किया जा सकता है

टेबल बनाते समय उदाहरण

CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

7.3 मैं किसी विशिष्ट समय क्षेत्र में वर्तमान समय कैसे प्राप्त करूँ?

उत्तर

SELECT CONVERT_TZ(NOW(), 'UTC', 'Asia/Tokyo');

7.4 मैं वर्तमान समय को स्वचालित रूप से कैसे रिकॉर्ड करूँ?

उत्तर

टेबल बनाते समय, DEFAULT CURRENT_TIMESTAMP निर्दिष्ट करें ताकि created_at में वर्तमान समय स्वचालित रूप से संग्रहीत हो सके।

CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    event VARCHAR(255),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

7.5 मैं पिछले N दिनों का डेटा कैसे प्राप्त करूँ?

उत्तर

SELECT * FROM orders WHERE order_date >= NOW() - INTERVAL 7 DAY;

7.6 मैं मिलीसेकंड (माइक्रोसेकंड) सटीकता के साथ वर्तमान समय कैसे प्राप्त करूँ?

उत्तर

SELECT NOW(3);

उदाहरण आउटपुट

2025-02-14 16:30:45.123

7.7 सारांश

  • NOW() और SYSDATE() मूल्यांकन समय में अलग होते हैं
  • CURRENT_TIMESTAMP() को DEFAULT मान के रूप में उपयोग किया जा सकता है
  • अन्य समय क्षेत्रों में टाइमस्टैम्प प्राप्त करने के लिए CONVERT_TZ() का उपयोग करें
  • सृजन टाइमस्टैम्प को स्वचालित रूप से रिकॉर्ड करने के लिए DEFAULT CURRENT_TIMESTAMP का उपयोग करें
  • पिछले X दिनों का डेटा प्राप्त करने के लिए NOW() - INTERVAL X DAY का उपयोग करें
  • NOW(3) या NOW(6) मिलीसेकंड/माइक्रोसेकंड सटीकता वाले टाइमस्टैम्प को समर्थन देते हैं

📌 निष्कर्ष: सही MySQL समय फ़ंक्शन का चयन वर्तमान टाइमस्टैम्प के साथ काम करने के लिए आवश्यक है।

8. सारांश

इस लेख में, हमने MySQL में वर्तमान समय प्राप्त करने के तरीकों को समझाया है।
NOW() फ़ंक्शन पर ध्यान केंद्रित करते हुए, हमने समान फ़ंक्शनों के बीच अंतर, व्यावहारिक क्वेरी उदाहरण, और महत्वपूर्ण नोट्स को कवर किया है।

8.1 वर्तमान समय प्राप्त करने के मुख्य MySQL फ़ंक्शन

FunctionWhat it returnsFormatNotes
NOW()Current date and timeYYYY-MM-DD HH:MM:SSMost common function
SYSDATE()Date and time at executionYYYY-MM-DD HH:MM:SSCan return different values on each evaluation
CURTIME()Current timeHH:MM:SSTime only (no date)
CURRENT_TIME()Current timeHH:MM:SSSame as CURTIME()
CURRENT_TIMESTAMP()Current date and timeYYYY-MM-DD HH:MM:SSAlmost the same as NOW()
UTC_TIMESTAMP()Current UTC date and timeYYYY-MM-DD HH:MM:SSTime zone fixed to UTC

📌 निष्कर्ष:

  • सामान्य वर्तमान टाइमस्टैम्प प्राप्त करने के लिए, NOW() आमतौर पर सबसे अच्छा है।
  • यदि आपको सटीक निष्पादन समय चाहिए, तो SYSDATE() का उपयोग करें।
  • यदि आपको केवल समय चाहिए (तारीख नहीं), तो CURTIME() चुनें।

8.2 वर्तमान समय का उपयोग करके व्यावहारिक क्वेरी

डेटा डालते समय वर्तमान समय रिकॉर्ड करें

INSERT INTO users (name, created_at) VALUES ('Sato', NOW());

डेटा अपडेट करते समय वर्तमान समय रिकॉर्ड करें

UPDATE users SET last_login = NOW() WHERE id = 1;

पिछले 7 दिनों का डेटा प्राप्त करें

SELECT * FROM orders WHERE order_date >= NOW() - INTERVAL 7 DAY;

समय क्षेत्रों को ध्यान में रखते हुए समय प्राप्त करें

SELECT CONVERT_TZ(NOW(), 'UTC', 'Asia/Tokyo');

पुराना डेटा हटाएँ (30 दिनों से अधिक पुराना)

DELETE FROM logs WHERE created_at < NOW() - INTERVAL 30 DAY;

8.3 समय क्षेत्रों के बारे में नोट्स

  • MySQL NOW() डिफ़ॉल्ट समय क्षेत्र सेटिंग पर निर्भर करता है, इसलिए परिणाम विभिन्न वातावरणों में अलग हो सकते हैं।
  • CONVERT_TZ() का उपयोग करके किसी अन्य समय क्षेत्र में टाइमस्टैम्प प्राप्त करें।
  • यदि आप सर्वर का समय क्षेत्र बदलना चाहते हैं:
    SET GLOBAL time_zone = 'Asia/Tokyo';
    

8.4 MySQL वर्तमान समय फ़ंक्शनों के बारे में अक्सर पूछे जाने वाले प्रश्न

प्रश्न 1. NOW() और SYSDATE() में क्या अंतर है?

NOW() क्वेरी शुरू होने के समय का समय प्राप्त करता है, जबकि SYSDATE() निष्पादन के समय का समय प्राप्त करता है।

प्रश्न 2. क्या CURRENT_TIMESTAMP() और NOW() समान हैं?

➡ वे लगभग समान हैं, लेकिन CURRENT_TIMESTAMP() डिफ़ॉल्ट मान के रूप में उपयोग किया जा सकता है

प्रश्न 3. मैं मिलीसेकंड (माइक्रोसेकंड) सटीकता के साथ वर्तमान समय कैसे प्राप्त करूँ?

NOW(3) (मिलीसेकंड) या NOW(6) (माइक्रोसेकंड) का उपयोग करें।

SELECT NOW(3); -- Example: 2025-02-14 16:30:45.123

8.5 सारांश

  • MySQL में, वर्तमान समय के लिए सही फ़ंक्शन का चयन करना महत्वपूर्ण है .
  • NOW() का उपयोग सामान्य मामलों के लिए करें, और SYSDATE() तब जब आपको सटीक निष्पादन टाइमस्टैम्प की आवश्यकता हो .
  • CURTIME() का उपयोग केवल समय के लिए करें, और CONVERT_TZ() का उपयोग समय क्षेत्र परिवर्तन के लिए करें .
  • आप वर्तमान समय का उपयोग इन्सर्ट, अपडेट, सर्च और डिलीशन में कर सकते हैं .

📌 निष्कर्ष: डेटा को अधिक कुशलता से प्रबंधित करने के लिए MySQL समय फ़ंक्शनों में निपुण बनें।