आप SQL सर्वर decimal
प्रकार (documentation here) का उपयोग कर सकते हैं। यह आपको डेटाबेस में संख्याओं के लिए एक सटीकता और स्केल निर्दिष्ट करने की अनुमति देता है, जिसे आप अपने सी # कोड के समान सेट कर सकते हैं।
हालांकि, आपका प्रश्न .NET दशमलव प्रकार को SQL सर्वर दशमलव प्रकार पर मैप करने के बारे में प्रतीत होता है। और दुर्भाग्य से, यह सीधा नहीं है। एसक्यूएल सर्वर दशमलव, अधिकतम शुद्धता पर, 10 -1 -10 +1 से रेंज को कवर। .NET में, हालांकि, यह संख्या के आधार पर ± 10 -28 से ± 7.9 × 10 से कहीं भी कवर कर सकता है।
कारण यह है कि, आंतरिक रूप से, .NET दशमलवों के समान दशमलव के समान होता है-यह इसे संख्याओं, एक मंटिसा और एक एक्सपोनेंट के रूप में संग्रहीत करता है। यदि आपके पास विशेष रूप से बड़ी मंटिसा है, तो आप कुछ परिशुद्धता खोने जा रहे हैं। अनिवार्य रूप से, .NET आपको उन संख्याओं को मिश्रण करने की अनुमति देता है जिनमें उच्च और निम्न दोनों स्तर होते हैं; एसक्यूएल सर्वर के लिए आपको समय से पहले दिए गए कॉलम के लिए इसे चुनना होगा।
कम में, आप यह तय करें कि दशमलव मूल्यों की मान्य श्रेणी है, अपने उद्देश्यों के लिए है, और दोनों अपने कार्यक्रम और डेटाबेस इसे संभाल कर सकते हैं सुनिश्चित करने की आवश्यकता के लिए जा रहे हैं। आपको अपने कार्यक्रम के लिए वैसे भी ऐसा करने की ज़रूरत है (यदि आप 10 -28 जैसे मानों को 7.9 × 10 के साथ मिश्रित कर रहे हैं, तो आप किसी भी प्रकार के दशमलव प्रकार पर भरोसा नहीं कर सकते हैं)।
स्रोत
2010-06-30 19:08:16
+1 अच्छा सवाल! मैं 8 महीने पहले एसओ पर एक ही सवाल पूछने जा रहा था, लेकिन मैं पूरी तरह से भूल गया! – spong