मैं एक समस्या है जो जब नेट में इस सरल एसक्यूएल क्वेरी के परिणामों प्राप्त करने की कोशिश होती है का सामना करना पड़ रहा है (ग #):अनंत अंश मूल्य
select 1/3 as col from dual
OracleDataReader.GetValue(i)
एक अपवाद फेंकता है:
Arithmetic operation resulted in an overflow. at Oracle.DataAccess.Types.DecimalConv.GetDecimal(IntPtr numCtx) at Oracle.DataAccess.Client.OracleDataReader.GetDecimal(Int32 i) at Oracle.DataAccess.Client.OracleDataReader.GetValue(Int32 i)
मुझे पता चला है इस त्रुटि occures कि जब संख्या परिशुद्धता 28 अंक के ऊपर जाता है, तो यह त्रुटि की ओर जाता है:
select round(1/3,29) as col from dual
लेकिन इस के रूप में डबल त्रुटि "अमान्य कलाकार" हो जाता है सी # में स्तंभ मान के इलाज के लिए कोशिश कर रहा है नहीं
select round(1/3,28) as col from dual
जाएगा
किसी को भी किसी भी दृष्टिकोण संख्या स्तंभों की सर्वव्यापक राउंडिंग के अलावा इस स्थिति से बचने के लिए पता है?
आप बता सकते हैं क्यों आप डेटाबेस क्वेरी में 1/3 क्या करना चाहते हैं !! –
यह सिर्फ उदाहरण था। कुछ सूत्रों के परिणामस्वरूप आप अनंत अंश प्राप्त कर सकते हैं - अंकगणितीय माध्य से अधिक जटिल गणनाओं से शुरू –
यदि आप ऐसा करते हैं तो क्या होता है: 'दोहरी से 1.0/3.0 का चयन करें'? –