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

SQL सर्वर में हेक्साडेसिमल दिनांक स्वरूप की विशिष्टता क्या है?

DATE प्रकार को आंतरिक रूप से 3-बाइट पूर्णांक के रूप में संग्रहीत किया जाता है, जो 1 जनवरी 0001 से दिनों की संख्या का प्रतिनिधित्व करता है।

आपके पास जो हेक्स मान है वह छोटे-एंडियन प्रारूप में है, इसलिए आपको इसे C# DateTime में उपयोग करने से पहले इसे बड़े-एंडियन में फ़्लिप करना होगा गणना:

string hexString = "38320B00";

// convert the first 6 characters to bytes and combine them into an int
// we can ignore the final two characters because the DATE type is a
// 3-byte integer - the most-significant-byte should always be zero
int days = byte.Parse(hexString.Substring(0, 2), NumberStyles.HexNumber)
    | byte.Parse(hexString.Substring(2, 2), NumberStyles.HexNumber) << 8
    | byte.Parse(hexString.Substring(4, 2), NumberStyles.HexNumber) << 16;

DateTime dt = new DateTime(1, 1, 1).AddDays(days);

Console.WriteLine(dt);    // 12/12/2009 00:00:00



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्राथमिक कुंजी इंडेक्स पर रेंज लॉक से गतिरोध

  2. DATETIME से DATETIME2 तक के रूपांतरण का मान क्यों बदलता है?

  3. इन दो SQL कथनों को कैसे संयोजित करें?

  4. SQL सर्वर में COUNT () बनाम COUNT_BIG ():क्या अंतर है?

  5. संबंधों के साथ दशमलव स्तंभ पर ROW_NUMBER () का उपयोग करते समय अनिर्धारित सॉर्ट क्रम