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

NHibernate में NUMBER Oracle डेटा प्रकार को मैप करने के लिए कौन सा .NET डेटा प्रकार सबसे अच्छा है?

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

मैंने विभिन्न उदाहरणों में int/long के बजाय दशमलव का उपयोग देखा है। मैं बस यह समझने की कोशिश कर रहा हूं कि क्यों

ऐसा शायद इसलिए है क्योंकि .NET decimal और Oracle NUMBER नक्शा long . से थोड़ा बेहतर है और NUMBER और यह आपको अधिक लचीलापन भी देता है। यदि आप बाद के चरण में पैमाना . जोड़ें यदि आप पहले से ही decimal . का उपयोग करते हैं तो Oracle कॉलम में आपको डेटाटाइप बदलने की आवश्यकता नहीं होगी .

decimal निश्चित रूप से int . से धीमा है और long चूंकि बाद के दो हार्डवेयर में समर्थित हैं। उस ने कहा, आपको कोई फर्क करने के लिए कुछ गंभीर मात्रा में डेटा की कमी करनी होगी। मुझे अब भी लगता है कि आपको long . का इस्तेमाल करना चाहिए यदि आप यही काम कर रहे हैं और फिर आपको टेबल कॉलम परिभाषाओं को भी इसका प्रतिनिधित्व करने देना चाहिए। NUMBER(18,0) long . के लिए और इसी तरह।

कारण decimal नक्शा थोड़ा बेहतर है कि long 64 बिट और decimal है है (तरह का) 128 बिट।

.नेट

प्रकार:दशमलव
अनुमानित सीमा:±1.0 × 10^−28 से ±7.9 × 10^28
परिशुद्धता:28-29 महत्वपूर्ण अंक

प्रकार:लंबा
सीमा:-9,223,372,036,854,775,808 से 9,223,372,036,854,775,807
परिशुद्धता:18 (उलोंग के लिए 19) महत्वपूर्ण अंक

ओरेकल

NUMBER डिफ़ॉल्ट रूप से 38 महत्वपूर्ण अंक और स्केल 0 (पूर्णांक)।

प्रकार:NUMBER
सीमा:+- 1 x 10^-130 से 9.99...9 x 10^125
परिशुद्धता:38 महत्वपूर्ण अंक

Microsoft समस्या और नोट्स से अवगत है

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

यह डेटा प्रकार NUMBER(38) डेटा प्रकार के लिए एक उपनाम है, और इसे डिज़ाइन किया गया है ताकि OracleDataReader एक पूर्णांक मान के बजाय एक सिस्टम। दशमलव या OracleNumber लौटाए। .NETFramework डेटा प्रकार का उपयोग करने से ओवरफ़्लो हो सकता है।

इसके बारे में सोचें कि आपको वास्तव में BigInteger need की आवश्यकता है क्या NUMBER . के समान महत्वपूर्ण अंकों का प्रतिनिधित्व करने में सक्षम होने के लिए करने के लिए चूक। मैंने कभी किसी को ऐसा करते नहीं देखा और मुझे लगता है कि यह एक बहुत ही दुर्लभ आवश्यकता है। साथ ही BigInteger NUMBER . के बाद से अभी भी इसे नहीं काटेगा सकारात्मक और नकारात्मक अनंत का हो सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एंटरप्राइज़ प्रबंधक 11g FMW नियंत्रण R12.2 . में

  2. SQL ट्रेस, Oracle में 10046 घटना:trcsess, tkprof उपयोगिता

  3. वेब एप्लिकेशन में समय क्षेत्र को संभालना

  4. Oracle की ALL_TAB_COLUMNS तालिका में BIN$... तालिकाएँ क्या हैं?

  5. मैं Oracle 11g को एकल SQL क्वेरी के लिए अधिक CPU का उपभोग करने के लिए बाध्य क्यों नहीं कर सकता?