2012-01-11 27 views
5

के लिए संस्कृति तटस्थ दिनांक प्रारूप क्या है मेरे पास मेरे प्रोग्रामिंग करियर की शुरुआत के बाद से यह प्रश्न है। एसक्यूएल सर्वर में डेटाटाइम के लिए वास्तव में एक संस्कृति तटस्थ प्रारूप है, ताकि जब भी मैं क्लाइंट साइड से क्वेरी स्ट्रिंग भेज रहा हूं डेटाबेस सर्वर पर SQL सर्वर 2008 पक्ष चल रहा है, जिसमें अलग-अलग सिस्टम डेटाटाइम प्रारूप हो, और यदि क्वेरी में एक तिथि परिवर्तित हो एक स्ट्रिंग, कौन सा प्रारूप मुझे एक त्रुटि नहीं देगा।SQL सर्वर

+3

जो आईएसओ –

+0

@ सोहम होगा: टाइमज़ोन (जिस तारीख को भेजा जा रहा है) के लिए भी आवश्यक नहीं होगा? – shahkalpesh

+0

@ शाहकालपेश - यही वह है जिसे मैं टालना चाहता हूं। –

उत्तर

10

मैं टिबोर करस्ज़ी के The ultimate guide to the datetime datatypes पढ़ने की सलाह देता हूं।

यदि आप अपनी तिथि/समय को असुरक्षित या आईएसओ 8601 प्रारूप में इनपुट करते हैं, तो आपको किसी भी कॉन्फ़िगरेशन के साथ ठीक होना चाहिए।

Unseparated = 'yyyymmdd hh:mm:ss' 
ISO 8601 = 'yyyy-mm-ddThh:mm:ss' 

अद्यतन (टिप्पणियों से):

आप केवल (समय भाग के बिना) एक तारीख दर्ज करने की आवश्यकता है, तो आप, 'YYYYMMDD' प्रारूप का उपयोग करने के रूप में 'YYYY-MM-DD' काम नहीं करेगा की है। उदाहरण के लिए लिंक किए गए आलेख को देखें।

+3

SQL सर्वर और 'DATETIME' प्रकारों के लिए, आपको या तो 'YYYYMMDD' (** कोई डैश नहीं है! ** यदि आपको केवल DATE की आवश्यकता है - कोई समय नहीं), या आपके द्वारा उल्लिखित प्रारूप का उपयोग करने की आवश्यकता है (' yyyy-mm-ddThh: mm : एसएस') - दोनों काम करते हैं। –

+0

हां, मैंने दोनों का उल्लेख किया। मैं आमतौर पर "नो डैश" संस्करण पसंद करता हूं। यह अधिक संक्षिप्त है। – MicSim

+0

वास्तव में नहीं - आपने प्रारूप का उल्लेख नहीं किया है यदि आपको केवल तारीख की आवश्यकता है (बिना समय के)। किसी को विश्वास करने के लिए नेतृत्व किया जा सकता है इसके विपरीत, 'YYYY-MM-DD' ** ** ** काम नहीं करेगा (जबकि' YYYYMMDD') करता है .... –

0

आप UNIX time प्रारूप में अपनी तिथि/समय संग्रहीत करने पर विचार कर सकते हैं।