सही उत्तर SYSDATE () है ।
INSERT INTO servers (
server_name, online_status, exchange, disk_space,
network_shares, date_time
)
VALUES (
'm1', 'ONLINE', 'ONLINE', '100GB', 'ONLINE', SYSDATE()
);
हम इस व्यवहार को बदल सकते हैं और NOW()
उसी तरह व्यवहार कर सकते हैं जैसे SYSDATE()
कि sysdate_is_now कमांड लाइन तर्क को सेट करकेTrue
।
ध्यान दें कि NOW()
(जिसका CURRENT_TIMESTAMP()
एक उपनाम है), SYSDATE()
एक सूक्ष्म तरीके से भिन्न होता है :
SYSDATE () उस समय को लौटाता है जिस पर वह निष्पादित करता है। यह अब के लिए व्यवहार से अलग है (), जो एक निरंतर समय देता है जो उस समय को इंगित करता है जिस पर वक्तव्य निष्पादित करना शुरू हुआ था। (एक संग्रहीत फ़ंक्शन या ट्रिगर के भीतर, अब () उस समय को वापस करता है जिस पर फ़ंक्शन या ट्रिगर स्टेटमेंट निष्पादित करना शुरू किया गया था।)
जैसा कि एरंडी द्वारा इंगित किया गया है , DEFAULT
खंड के साथ अपनी तालिका बनाना सबसे अच्छा है ताकि जब आप एक नई पंक्ति डालें तो कॉलम टाइमस्टैम्प के साथ स्वचालित रूप से आबाद हो जाए:
date_time datetime NOT NULL DEFAULT SYSDATE()
आप में वर्तमान दिनांक चाहते हैं युग प्रारूप है, तो आप उपयोग कर सकते हैं UNIX_TIMESTAMP () । उदाहरण के लिए:
select now(3), sysdate(3), unix_timestamp();
उपज होगी
+-------------------------+-------------------------+------------------+
| now(3) | sysdate(3) | unix_timestamp() |
+-------------------------+-------------------------+------------------+
| 2018-11-27 01:40:08.160 | 2018-11-27 01:40:08.160 | 1543282808 |
+-------------------------+-------------------------+------------------+
सम्बंधित: