SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

SQLite में डेटटाइम () फ़ंक्शन कैसे काम करता है

SQLite datetime() फ़ंक्शन आपको समय स्ट्रिंग और किसी भी संशोधक के आधार पर दिनांक और समय मान वापस करने में सक्षम बनाता है।

यह इस प्रारूप में दिनांक लौटाता है:YYYY-MM-DD HH:MM:SS

इस फ़ंक्शन का उपयोग करने के लिए, आपको एक समय स्ट्रिंग, साथ ही कोई भी (वैकल्पिक) संशोधक प्रदान करने की आवश्यकता है। एक संशोधक आपको दिनांक बदलने की अनुमति देता है, जैसे कि कई दिन जोड़ना, इसे स्थानीय समय पर सेट करना, आदि

सिंटैक्स

वाक्य रचना इस प्रकार है:

datetime(timestring, modifier, modifier, ...)

timestring तर्क एक मान्य समय स्ट्रिंग होना चाहिए।

modifier तर्क वैकल्पिक हैं। आप एक या अधिक संशोधक प्रदान कर सकते हैं। यदि आप एक संशोधक प्रदान करते हैं, तो यह एक मान्य संशोधक होना चाहिए।

उदाहरण

datetime() को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है फ़ंक्शन का उपयोग एक तर्क के साथ किया जा रहा है।

SELECT datetime('now');

परिणाम:

2020-04-28 23:56:06

now टाइम स्ट्रिंग को वर्तमान दिनांक और समय में बदल दिया जाता है।

एक संशोधक जोड़ें

हम एक संशोधक का उपयोग करके पिछले परिणाम को संशोधित कर सकते हैं। यहाँ एक उदाहरण है।

SELECT datetime('now', '+3 hours');

परिणाम:

2020-04-29 02:56:52

इस मामले में, मैंने समय में तीन घंटे जोड़े। मूल समय को देखते हुए, इसके परिणामस्वरूप तारीख को अगले दिन आगे बढ़ा दिया गया।

एकाधिक संशोधक

जैसा कि बताया गया है, आप एक या अधिक संशोधक जोड़ सकते हैं। पिछले उदाहरण में एक और संशोधक जोड़ने का एक उदाहरण यहां दिया गया है।

SELECT datetime('now', '+3 hours', 'localtime');

परिणाम:

2020-04-29 12:58:13

मेरे मामले में, localtime संशोधक के परिणामस्वरूप समय आगे बढ़ा।

ऐसा करने का कारण यह है कि localtime संशोधक मानता है कि प्रदान की गई समय स्ट्रिंग यूनिवर्सल कोऑर्डिनेटेड टाइम (UTC) में है। इसके बाद यह समय स्ट्रिंग को समायोजित करता है ताकि यह स्थानीय समय प्रदर्शित करे।

इसलिए, आपके स्थानीय समय के आधार पर आपको एक अलग परिणाम मिल सकता है।

यहां यह फिर से मूल स्थानीय समय की तुलना संशोधित परिणाम से कर रहा है:

SELECT 
  datetime('now', 'localtime') AS "Local",
  datetime('now', '+3 hours', 'localtime') AS "Modified";

परिणाम:

Local                Modified           
-------------------  -------------------
2020-04-29 10:02:09  2020-04-29 13:02:09

समय स्ट्रिंग के रूप में दिनांक

ऊपर दिए गए उदाहरणों में now का इस्तेमाल किया गया है समय स्ट्रिंग के रूप में, लेकिन आप कोई मान्य समय स्ट्रिंग प्रदान कर सकते हैं।

यदि आप केवल दिनांक भाग प्रदान करते हैं, तो समय भाग सभी शून्य पर सेट हो जाएगा।

SELECT datetime('2010-08-15');

परिणाम:

2010-08-15 00:00:00

यदि केवल समय भाग की आपूर्ति की जाती है, तो दिनांक 2000-01-01 पर सेट है।

SELECT datetime('23:58:57');

परिणाम:

2000-01-01 23:58:57

यहां एक उदाहरण दिया गया है जो जूलियन डे को टाइम स्ट्रिंग के रूप में उपयोग करता है।

SELECT datetime('2451545.49927083');

परिणाम:

2000-01-01 23:58:57

डेटाटाइम() बनाम strftime()

datetime() फ़ंक्शन बिल्कुल वही परिणाम देता है जो strftime('%Y-%m-%d %H:%M:%S', ...) रिटर्न। datetime() फ़ंक्शन इसे करने का एक अधिक सुविधाजनक तरीका है।

SELECT 
  datetime('now'),
  strftime('%Y-%m-%d %H:%M:%S', 'now');

परिणाम:

datetime('now')      strftime('%Y-%m-%d %H:%M:%S', 'now')
-------------------  ------------------------------------
2020-04-29 00:16:12  2020-04-29 00:16:12                 

दिनांक सीमा

जैसा कि सभी SQLite दिनांक और समय कार्यों के साथ होता है, datetime() केवल 0000-01-01 00:00:00 और 9999-12-31 23:59:59 (जूलियन दिन संख्या 1721059.5 से 5373484.5) के बीच की तिथियों के लिए काम करता है।

उस सीमा से बाहर की तारीखों के लिए, परिणाम अपरिभाषित होते हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एंड्रॉइड का उपयोग कर स्क्लाइट डेटाबेस में उपयोगकर्ता कैसे मौजूद है?

  2. SQLite में किसी फ़ाइल से SQL स्क्रिप्ट चलाने के 5 तरीके

  3. SQLite क्वेरी परिणामों को अल्पविराम से अलग की गई सूची के रूप में प्रारूपित करें

  4. SQLite में प्राथमिक कुंजी को अनदेखा करते हुए डुप्लिकेट पंक्तियों को खोजने के 11 तरीके

  5. SQLite - एक टेबल बनाएं