MySQL
समय के साथ उपसमुच्चय
खोज…
टिप्पणियों
आपको MySQL संस्करण 5.6.4 पर या बाद में आंशिक-दूसरी बार डेटाटिप्स के साथ कॉलम घोषित करने की आवश्यकता है।
उदाहरण के लिए, DATETIME(3)
आपको अपने टाइमस्टैम्प में मिलीसेकंड रिज़ॉल्यूशन देगा, और TIMESTAMP(6)
आपको * nix-स्टाइल टाइमस्टैम्प पर microsecond रिज़ॉल्यूशन देगा।
इसे पढ़ें: http://dev.mysql.com/doc/refman/5.7/en/fractional-seconds.html
NOW(3)
आपको अपने MySQL सर्वर के ऑपरेटिंग सिस्टम से मिलीसेकंड परिशुद्धता के साथ वर्तमान समय देगा।
(ध्यान दें कि MySQL आंतरिक आंशिक अंकगणित, जैसे * 0.001, हमेशा IEEE754 डबल सटीक फ़्लोटिंग पॉइंट के रूप में संभाला जाता है, इसलिए यह संभावना नहीं है कि सूर्य के एक सफेद बौना तारा बनने से पहले आप सटीक खो देंगे।)
मिलीसेकंड परिशुद्धता के साथ वर्तमान समय प्राप्त करें
SELECT NOW(3)
उसने चाल चली।
वर्तमान समय को एक ऐसे रूप में प्राप्त करें जो एक जावास्क्रिप्ट टाइमस्टैम्प की तरह दिखता है।
जावास्क्रिप्ट टाइमस्टैम्प आदरणीय UNIX time_t
डेटा प्रकार पर आधारित हैं, और 1970-01-01 00:00:00
UTC के बाद से मिलीसेकंड की संख्या दिखाते हैं।
इस अभिव्यक्ति को जावास्क्रिप्ट टाइमस्टैम्प पूर्णांक के रूप में वर्तमान समय मिलता है। (यह मौजूदा time_zone सेटिंग की परवाह किए बिना सही ढंग से करता है।)
ROUND(UNIX_TIMESTAMP(NOW(3)) * 1000.0, 0)
यदि आपके पास TIMESTAMP
मान किसी कॉलम में संग्रहीत हैं, तो आप उन्हें UNIX_TIMESTAMP () फ़ंक्शन का उपयोग करके पूर्णांक जावास्क्रिप्ट टाइमस्टैम्प के रूप में पुनः प्राप्त कर सकते हैं।
SELECT ROUND(UNIX_TIMESTAMP(column) * 1000.0, 0)
यदि आपके कॉलम में DATETIME
कॉलम हैं और आप उन्हें जावास्क्रिप्ट टाइमस्टैम्प के रूप में पुनः प्राप्त करते हैं, तो उन टाइमस्टैम्प्स को उस समय के ज़ोन ऑफ़सेट द्वारा ऑफ़सेट किया जाएगा, जिस समय में वे संग्रहीत हैं।
उप-दूसरी बार संग्रहीत करने के लिए स्तंभों के साथ एक तालिका बनाएं।
CREATE TABLE times (
dt DATETIME(3),
ts TIMESTAMP(3)
);
मिलीसेकंड-सटीक दिनांक / समय फ़ील्ड के साथ तालिका बनाता है।
INSERT INTO times VALUES (NOW(3), NOW(3));
तालिका में मिलीसेकंड परिशुद्धता के साथ NOW()
मान वाली पंक्ति सम्मिलित करता है।
INSERT INTO times VALUES ('2015-01-01 16:34:00.123','2015-01-01 16:34:00.128');
विशिष्ट मिलीसेकंड सटीक मान सम्मिलित करता है।
सूचना है कि आप का उपयोग करना चाहिए NOW(3)
के बजाय NOW()
आप उच्च परिशुद्धता समय मान सम्मिलित करने के लिए कि समारोह का उपयोग करें।
एक मिलीसेकंड-सटीक दिनांक / समय मान को पाठ में बदलें।
%f
, DATE_FORMAT () फ़ंक्शन के लिए आंशिक सटीक प्रारूप निर्दिष्ट करता है ।
SELECT DATE_FORMAT(NOW(3), '%Y-%m-%d %H:%i:%s.%f')
2016-11-19 09:52:53.248000
जैसे मूल्य को भिन्नात्मक माइक्रोसेकंड के साथ प्रदर्शित करता है। क्योंकि हमने NOW(3)
उपयोग किया है, अंश में अंतिम तीन अंक 0 हैं।
एक टाइमस्टैम्प कॉलम में एक जावास्क्रिप्ट टाइमस्टैम्प स्टोर करें
यदि आपके पास एक जावास्क्रिप्ट टाइमस्टैम्प मूल्य है, उदाहरण के लिए 1478960868932
, तो आप इसे इस तरह MySQL अंशकालिक समय मान में बदल सकते हैं:
FROM_UNIXTIME(1478960868932 * 0.001)
अपनी जावास्क्रिप्ट टेबलस्टैंप को MySQL टेबल में स्टोर करने के लिए उस तरह के एक्सप्रेशन का उपयोग करना सरल है। यह करो:
INSERT INTO table (col) VALUES (FROM_UNIXTIME(1478960868932 * 0.001))
(जाहिर है, आप अन्य कॉलम सम्मिलित करना चाहेंगे।)