2011-05-12 11 views
6

2 सवाल प्रश्न:SQLite क्वेरी

पहले, MSSQL में, मैं

cast('5/31/2011 12:00:00 AM' as datetime) as convertedtodate 

परिणाम करके datetime को nvarchar परिवर्तित कर सकते हैं: 2011-05-31 00: 00: 00.000

कैसे क्या मैं इसे SQLite में करता हूं?

दूसरा, SQLite पर एमएस एसक्यूएल के datediff समारोह के बराबर क्या है? उदा .:

datediff(Day,'5/30/2011 12:00:00 AM','5/31/2011 12:00:00 AM') as DateAge 

परिणाम: 1

उत्तर

5

अपने पहले प्रश्न (तारीख को स्ट्रिंग परिवर्तित) उत्तर देने के लिए, जवाब है, "यह निर्भर करता है"। चूंकि SQLite के पास कोई विशिष्ट दिनांक फ़ील्ड नहीं है, इसलिए आपको इसे परिवर्तित करने की आवश्यकता नहीं हो सकती है। आप इसे केवल एक स्ट्रिंग फ़ील्ड में स्टोर कर सकते हैं (विकल्प स्टिंग, असली, या डेट स्टोरेज के लिए int हैं)। आप किसी पूर्णांक (जो 1970-01-01 के बाद से सेकंड की संख्या हो जाएगा) के लिए स्ट्रिंग परिवर्तित करना चाहते हैं, तो आप ऐसा तरह strftime विधि का प्रयोग करेंगे:

strftime('%s','2011-05-12 01:03:00') 

अपने प्रश्न के दूसरे भाग के रूप में (दो तिथियों के बीच अंतर), आप SQLite में निम्न कोड का प्रयोग करेंगे:

strftime('%s','2011-05-12 01:03:00') - strftime('%s','2011-05-08 11:54:09') 

है कि आप दो तिथियों के बीच सेकंड की संख्या दे देंगे। आप SQLite से जो भी खोज रहे हैं उसे पाने के लिए, आप इस जानकारी के साथ-साथ बहुत कुछ के साथ खेल सकते हैं। यहां पर कुछ संसाधनों तुम बाहर में मदद मिलेगी रहे हैं:

http://www.sqlite.org/cvstrac/wiki?p=DateAndTimeFunctions

http://www.sqlite.org/datatype3.html

+0

मैं इस का उपयोग कर की कोशिश की लेकिन यह SQLite व्यवस्थापक work..use नहीं है परिणाम देखने के लिए ... – BizApps

+0

रयान @ जॉन - आपका क्या मतलब है कि यह काम नहीं करता है। मैंने कोशिश की और यह मेरे लिए काम किया। पहली बार उस तारीख को यूनिक्स समय प्रारूप में परिवर्तित किया गया, जबकि दूसरे ने मुझे दो तिथियों के बीच सेकंड की संख्या दी। यह जानकारी दस्तावेज़ीकरण से सीधे खींचा जा रहा है, इसलिए मुझे लगता है कि यह जानना उपयोगी होगा कि आपको कौन सी त्रुटियां मिल रही हैं। – IAmTimCorey

+0

@ जोहान रयान - 'चयन करें स्ट्रेटटाइम ('% s ',' 2011-05 ...। '; और देखें कि क्या यह काम करता है। – JasonFruit

संबंधित मुद्दे