विशेष रूप से DATETIME पर ध्यान केंद्रित करते हुए, जहां int से कास्ट की अनुमति है, विसंगति के दो कारण हैं।
-
एक्सेल दिनांक के लिए 1 के आधार का उपयोग करता है, SQL सर्वर 0 का उपयोग करता है, अर्थात
01/01/1900जब एक्सेल में किसी संख्या में कनवर्ट किया जाता है तो 1 होता है, हालांकि, एसक्यूएल में यह 0 होता है:0 देगा। -
लोटस से पोर्टेबिलिटी की अनुमति देने के लिए एक्सेल में एक जानबूझकर त्रुटि है जहां बग जानबूझकर नहीं किया गया था। एक्सेल 29 फरवरी 1900 को एक वैध तारीख मानता है, लेकिन 1900 एक लीप वर्ष नहीं था। SQL में यह समस्या नहीं है, इसलिए इसका अर्थ है कि एक्सेल कैलेंडर में एक अतिरिक्त दिन है।
*(इस पर आगे पढ़ने से पता चलता है कि यह जानबूझकर किया गया हो सकता है, या अप्रासंगिक माना जा सकता है)
अतिरिक्त
एक Microsoft सहायता आइटम है जो बताता है: