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

1899-12-30 12/31 के बजाय एक्सेस/एसक्यूएल सर्वर में शून्य तिथि क्यों है?

लोटस 1-2-3 के साथ दिन में संगतता बनाए रखना, जिसमें एक बग था जिसमें उसने सोचा था कि वर्ष 1900 एक लीप वर्ष था (या दिखावा?)।

स्पष्टीकरण उद्धृत करने के लिए बहुत लंबा है, लेकिन जिज्ञासा के लिए, यहां कुछ अंश दिए गए हैं।

  • http://blogs.msdn.com/b/ericlippert/archive/2003/09/16/53013.aspx

  • http://www.joelonsoftware.com/items/2006/06/16.html

<ब्लॉकक्वॉट>

1900 एक लीप वर्ष नहीं था।

"यह एक्सेल में एक बग है!" मैंने कहा।

"ठीक है, वास्तव में नहीं," एड ने कहा। "हमें इसे इस तरह से करना पड़ा क्योंकि हमें लोटस 123 वर्कशीट आयात करने में सक्षम होने की आवश्यकता है।"

"तो, यह लोटस 123 में एक बग है?"

"हाँ, लेकिन शायद एक जानबूझकर। कमल को 640K में फिट होना था। यह बहुत अधिक स्मृति नहीं है। यदि आप 1900 को अनदेखा करते हैं, तो आप यह पता लगा सकते हैं कि क्या दिया गया वर्ष एक लीप वर्ष है, यह देखने के लिए कि क्या सबसे सही दो बिट्स हैं शून्य हैं। यह वास्तव में तेज़ और आसान है। लोटस लोगों को शायद लगा कि यह उन दो महीनों के लिए गलत नहीं था। ऐसा लगता है कि बेसिक लोग उन दो महीनों के बारे में गुदा बनना चाहते थे, इसलिए उन्होंने स्थानांतरित कर दिया युग एक दिन पहले।"

  • http://www.cpearson.com/excel/datetime.htm
<ब्लॉकक्वॉट>

दरअसल, यह संख्या दिनों की वास्तविक संख्या से एक ज्यादा है। ऐसा इसलिए है क्योंकि एक्सेल ऐसा व्यवहार करता है जैसे कि 1900-फरवरी -29 की तारीख मौजूद थी। मैंने नहीं किया। वर्ष 1900 कोई लीप वर्ष नहीं था (वर्ष 2000 एक लीप वर्ष है)। एक्सेल में, 1900-फरवरी-28 के बाद का दिन 1900-फरवरी-29 है। दरअसल, 1900-फरवरी-28 के बाद का दिन 1900-मार्च-1 था। यह एक बग नहीं है"। दरअसल, यह डिजाइन द्वारा है। एक्सेल इस तरह से काम करता है क्योंकि यह वास्तव में लोटस 123 में एक बग था। जब एक्सेल को पेश किया गया था, तो 123 में स्प्रेडशीट सॉफ्टवेयर के लिए लगभग पूरा बाजार था। माइक्रोसॉफ्ट ने लोटस की बग को जारी रखने का फैसला किया, ताकि पूरी तरह से संगत हो सके। 123 से एक्सेल में स्विच करने वाले यूजर्स को अपने डेटा में कोई बदलाव नहीं करना होगा। जब तक आपकी सभी तिथियां 1900-मार्च-1 के बाद की हैं, तब तक यह कोई चिंता का विषय नहीं होना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मौजूद होने पर SQLBulkCopy डालने या अपडेट करने का कोई तरीका?

  2. CONVERT() दिनांक/समय से SQL सर्वर में स्ट्रिंग उदाहरणों के लिए

  3. MS SQL सर्वर में पूर्ण किए गए कार्यों के बारे में स्वचालित डेटा संग्रह

  4. SQL सर्वर में अल्पविराम से अलग की गई सूची के रूप में क्वेरी परिणाम कैसे लौटाएं - STRING_AGG ()

  5. तीन आसान SQL सर्वर प्रदर्शन जीतता है