सारांश :इस ट्यूटोरियल में, हम आपको दिखाएंगे कि कैसे SQLite दिनांक और समय मानों के साथ काम करना है और दिनांक और समय मानों को संभालने के लिए अंतर्निहित तिथियों और समय कार्यों का उपयोग करना है।
SQLite अंतर्निहित दिनांक और/या समय संग्रहण वर्ग का समर्थन नहीं करता है। इसके बजाय, यह अन्य भंडारण वर्गों जैसे TEXT
का उपयोग करने के लिए कुछ अंतर्निहित दिनांक और समय कार्यों का लाभ उठाता है , REAL
, या INTEGER
दिनांक और समय मान संग्रहीत करने के लिए।
TEXT
का उपयोग करना SQLite दिनांक और समय संग्रहीत करने के लिए संग्रहण वर्ग
यदि आप TEXT
का उपयोग करते हैं भंडारण वर्ग दिनांक और समय मान संग्रहीत करने के लिए, आपको निम्नानुसार ISO8601 स्ट्रिंग प्रारूप का उपयोग करने की आवश्यकता है:
YYYY-MM-DD HH:MM:SS.SSS
Code language: SQL (Structured Query Language) (sql)
उदाहरण के लिए, 2016-01-01 10:20:05.123
सबसे पहले, datetime_text
. नाम की एक नई तालिका बनाएं प्रदर्शन के लिए।
CREATE TABLE datetime_text(
d1 text,
d2 text
);
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
तालिका में दो कॉलम हैं d1
और d2
TEXT
के साथ डेटाटाइप।
datetime_text
में दिनांक और समय मान डालने के लिए तालिका, आप DATETIME
. का उपयोग करते हैं समारोह।
उदाहरण के लिए, वर्तमान UTC दिनांक और समय मान प्राप्त करने के लिए, आप फ़ंक्शन के लिए अब शाब्दिक स्ट्रिंग को निम्नानुसार पास करते हैं:
SELECT datetime('now');
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
स्थानीय समय प्राप्त करने के लिए, आप एक अतिरिक्त तर्क देते हैं localtime
।
SELECT datetime('now','localtime');
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
दूसरा, दिनांक और समय मान datetime_text
में डालें तालिका इस प्रकार है:
INSERT INTO datetime_text (d1, d2)
VALUES(datetime('now'),datetime('now', 'localtime'));
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
तीसरा, डेटा को datetime_text
. से क्वेरी करें टेबल।
SELECT
d1,
typeof(d1),
d2,
typeof(d2)
FROM
datetime_text;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
REAL
का उपयोग करना SQLite दिनांक और समय मानों को संग्रहीत करने के लिए संग्रहण वर्ग
आप REAL
का उपयोग कर सकते हैं स्टोरेज क्लास दिनांक और/या समय मानों को जूलियन दिवस संख्याओं के रूप में संग्रहीत करने के लिए है, जो 24 नवंबर, 4714 ई.पू. को ग्रीनविच में दोपहर के बाद से दिनों की संख्या है। प्रोलेप्टिक ग्रेगोरियन कैलेंडर पर आधारित।
आइए दिनांक और समय मानों को संग्रहीत करने के लिए वास्तविक संग्रहण वर्ग का उपयोग करने के एक उदाहरण पर एक नज़र डालें।
सबसे पहले, datetime_real
. नाम की एक नई टेबल बनाएं ।
CREATE TABLE datetime_real(
d1 real
);
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
दूसरा, "वर्तमान" दिनांक और समय मान datetime_real
. में डालें टेबल।
INSERT INTO datetime_real (d1)
VALUES(julianday('now'));
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
हमने julianday()
. का इस्तेमाल किया वर्तमान दिनांक और समय को जूलियन दिवस में बदलने का कार्य करता है।
तीसरा, datetime_real
. से क्वेरी डेटा टेबल।
SELECT d1 FROM datetime_real;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
आउटपुट मानव पठनीय नहीं है।
सौभाग्य से, आप बिल्ट-इन date()
. का उपयोग कर सकते हैं और time()
दिनांक और समय मान को निम्नानुसार प्रारूपित करने के लिए कार्य करता है:
SELECT
date(d1),
time(d1)
FROM
datetime_real;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
INTEGER
का उपयोग करना SQLite दिनांक और समय मान संग्रहीत करने के लिए
इसके अलावा TEXT
और REAL
भंडारण वर्ग, आप INTEGER
. का उपयोग कर सकते हैं दिनांक और समय मानों को संग्रहीत करने के लिए संग्रहण वर्ग।
हम आमतौर पर INTEGER
. का उपयोग करते हैं UNIX समय संग्रहीत करने के लिए जो 1970-01-01 00:00:00 UTC
के बाद से सेकंड की संख्या है . निम्नलिखित उदाहरण देखें:
सबसे पहले, एक तालिका बनाएं जिसमें एक कॉलम हो जिसका डेटा प्रकार INTEGER
. है दिनांक और समय मानों को संग्रहीत करने के लिए।
CREATE TABLE datetime_int (d1 int);
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
दूसरा, वर्तमान दिनांक और समय मान datetime_int
. में डालें टेबल।
INSERT INTO datetime_int (d1)
VALUES(strftime('%s','now'));
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
तीसरा, datetime_int
. से क्वेरी डेटा टेबल।
SELECT d1 FROM datetime_int;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
यह एक पूर्णांक है।
परिणाम को प्रारूपित करने के लिए, आप बिल्ट-इन का उपयोग कर सकते हैं datetime()
इस प्रकार कार्य करें:
SELECT datetime(d1,'unixepoch')
FROM datetime_int;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
SQLite का उपयोग करके, आप दिनांक और समय मानों को संग्रहीत करने के लिए किसी भी डेटा प्रकार को स्वतंत्र रूप से चुन सकते हैं और प्रारूपों के बीच कनवर्ट करने के लिए अंतर्निहित दिनांक और समय फ़ंक्शन का उपयोग कर सकते हैं।
SQLite दिनांक और समय फ़ंक्शन के बारे में विस्तृत जानकारी के लिए, इसे अंतर्निहित दिनांक और समय फ़ंक्शन देखें।
इस ट्यूटोरियल में, आपने TEXT
. का उपयोग करना सीखा है , REAL
, और INTEGER
भंडारण कक्षाएं दिनांक और समय मूल्यों को संग्रहीत करने के लिए। इसके अलावा, आपने सीखा कि संग्रहीत दिनांक और समय मानों को पठनीय प्रारूपों में बदलने के लिए अंतर्निहित तिथियों और समय कार्यों का उपयोग कैसे करें।