मैं यूनिक्स टाइमस्टैम्प ("युग" के बाद से सेकंड की संख्या) का उपयोग करने के लिए वोट दूंगा, यह देखते हुए कि वे सीमा गणना के लिए सुविधाजनक हैं और सबसे मजबूत दिनांक-समय पुस्तकालयों द्वारा समझे जाते हैं।
SQLite यूनिक्स टाइमस्टैम्प के साथ काम करने के लिए कुछ सहायक कार्य प्रदान करता है। यहां सबसे उपयोगी strftime
होने जा रहा है ।
आप strftime('%s', 'now')
का उपयोग करके वर्तमान यूनिक्स टाइमस्टैम्प सम्मिलित कर सकते हैं आपके INSERT में।
बाद में, यदि आप किसी विशेष समय सीमा में रुचि रखते हैं, तो आप उस सीमा के लिए न्यूनतम और अधिकतम टाइमस्टैम्प की गणना कर सकते हैं और उनके बीच पंक्तियों का चयन कर सकते हैं:
SELECT * FROM data
WHERE timestamp >= strftime('%s', '2012-12-25 00:00:00')
AND timestamp < strftime('%s', '2012-12-25 01:00:00');
या, मान लें कि आप एक साल के अनुरोधों को महीने के हिसाब से गिनना चाहते हैं:
SELECT strftime('%m', timestamp), count(*) FROM Data
WHERE timestamp >= strftime('%s', '2012-01-01 00:00:00')
AND timestamp < strftime('%s', '2013-01-01 00:00:00')
GROUP BY strftime('%m', timestamp);
प्रारूप विकल्पों के चतुर उपयोग के माध्यम से strftime
प्रदान करता है, तो आप शायद उनमें से अधिकतर प्रश्नों को बहुत जल्दी हल कर सकते हैं।