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

डेटाबेस से अशक्त दिनांक समय कैसे प्राप्त करें?

एक SQL नल एक .NET नल के समान नहीं है; आपको System.DBNull.Value से तुलना करनी होगी:

object sqlDateTime = sqldatareader[0];
DateTime? dt = (sqlDateTime == System.DBNull.Value)
    ? (DateTime?)null
    : Convert.ToDateTime(sqlDateTime);

आपकी टिप्पणी के उत्तर में, Item . का डेटा प्रकार DataReader . की संपत्ति अंतर्निहित डेटाबेस प्रकार का है। यह System.Data.SqlTypes.SqlDateTime हो सकता है एक गैर-शून्य SQL सर्वर डेटाबेस के लिए, या System.DBNull एक नल कॉलम के लिए, या System.Data.Odbc.OdbcTypes.SmallDateTime एक ओडीबीसी डेटाबेस के लिए, या वास्तव में बस कुछ भी। केवल एक चीज जिस पर आप भरोसा कर सकते हैं, वह यह है कि यह object . प्रकार की है ।

यही कारण है कि मैं Convert.ToDateTime() . का उपयोग करने का सुझाव देता हूं DateTime . के लिए जबरदस्ती टाइप करने के बजाय . इस बात की कोई गारंटी नहीं है कि ODBC या किसी भी दिनांक कॉलम को .NET DateTime के लिए बाध्य किया जा सकता है। . मैंने नोट किया है कि आपकी टिप्पणी एक "sqldatareader" और एक SQL सर्वर System.Data.SqlTypes.SqlDateTime निर्दिष्ट करती है। वास्तव में एक System.DateTime . के लिए मजबूर किया जा सकता है , लेकिन आपके मूल प्रश्न ने हमें यह नहीं बताया।

DataReader का उपयोग करने के बारे में अधिक जानकारी के लिए एस, एमएसडीएन से परामर्श लें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SP_dbcmptlevel पदावनत होने के बाद SQL सर्वर डेटाबेस संगतता की जाँच कैसे करें?

  2. आउटपुट क्लॉज पर फ़िल्टर करें sql

  3. SQL सर्वर 2016:हमेशा एन्क्रिप्टेड

  4. क्या SQL सर्वर CLR एकीकरण कॉन्फ़िगरेशन फ़ाइलों का समर्थन करता है?

  5. SQL सर्वर के लिए Intel Optane संग्रहण का उपयोग करना