में यदि आपके पास MSSQLServer में एक फ्लोट है, तो आप इसे .NET में क्या मैप करते हैं?डेटाबेस में फ्लोट करने के लिए? .NET
क्या आप इसे डबल में बदल सकते हैं या आप नंबर खो देंगे?
में यदि आपके पास MSSQLServer में एक फ्लोट है, तो आप इसे .NET में क्या मैप करते हैं?डेटाबेस में फ्लोट करने के लिए? .NET
क्या आप इसे डबल में बदल सकते हैं या आप नंबर खो देंगे?
एसक्यूएलसेवर float
और सी #/वीबी double
का एक ही प्रतिनिधित्व है। यह सही मैपिंग है। जो आप नहीं करना चाहते हैं वह नक्शा एसक्यूएल सर्वर float
सी #/वीबी float
पर है क्योंकि इसमें सटीकता का नुकसान शामिल हो सकता है। एसक्यूएल सर्वर real
सी #/वीबी float
पर मानचित्र।
टी-एसक्यूएल फ्लोट और वास्तविक प्रकार की परिभाषा MSDN पर पाई जा सकती है। सी # डबल परिभाषा MSDN पर भी मिल सकती है, जैसे फ्लोट definition हो सकती है।
सी # में एक फ्लोट प्रकार है, लेकिन यह ठीक से डबल में भी परिवर्तित हो जाएगा।
मेरी यादों से, अधिकांश ओआरएम उपकरण इसे दशमलव के रूप में मैप करेंगे, जो डबल या फ्लोट की तरह परिशुद्धता खोना नहीं होगा।
यह एसक्यूएल फ्लोट के आकार पर निर्भर करता है। सादे "फ्लोट" के लिए जो फ्लोट (53) के बराबर है, आपको सी # डबल का उपयोग करने की आवश्यकता है। फ्लोट (24) या कम सी # फ्लोट के लिए पर्याप्त होगा, या एक डबल भी काम करेगा।
माइक्रोसॉफ्ट एक्सएसडी द्वारा उत्पन्न स्वचालित कोड एसक्यूएल फ्लोट (डिफ़ॉल्ट फ्लोट) को सी # डबल में परिवर्तित करता है।
तो आप सुझाव दे सकते हैं कि यह बड़ी गलती नहीं है।
जब तक आप फ्लोट के साथ काम नहीं करते हैं जिसमें डिफ़ॉल्ट आकार होता है।
चेक आउट:
के बीच डेटा प्रकार मैपिंग पर पूर्ण संदर्भ अपने मामले एसक्यूएल सर्वर देशी प्रकार के लिए SQL Server Data Types and Their .NET Framework Equivalents (msdn)नाव एसक्यूएल सर्वर CLR SqlDouble के नक्शे और फिर डबल .Net
अद्यतन (मई 2016):
MSDN दस्तावेज़ केअद्यतन संस्करण: Mapping CRL Parameter Data
यह सही उत्तर होना चाहिए। लिंक के लिए धन्यवाद। अब तक एक अद्यतन संस्करण है। https://msdn.microsoft.com/en-us/library/ms131092%28v=sql.130%29.aspx –
धन्यवाद @ मैथिसकोहली - अब जवाब के लिए नया लिंक जोड़ा गया – kristof
गलत है, हालांकि आप एक सी # डबल के लिए किसी भी एसक्यूएल सर्वर नाव मैप कर सकते हैं, तो आप एक एसक्यूएल के लिए किसी भी सी # डबल मैप नहीं कर सकते -सर्वर फ्लोट ... लेकिन यह आमतौर पर "सामान्य" बड़ी/छोटी संख्या –
के लिए काम करता है यह वास्तविक रूप से सत्य नहीं है - यहां तक कि वास्तविक/फ़्लोट (24) के लिए भी। एसक्यूएल सर्वर में NaN, या +/- Inf की कोई धारणा नहीं है जो मानक IEEE754 (C#/VB.NET) नियमों के तहत समर्थित हैं। – user2246674