सटीक और पैमाने के बीच अंतर क्या है?


141

ओरेकल में सटीक और पैमाने के बीच अंतर क्या है? ट्यूटोरियल में वे आमतौर पर पैमाने को खाली छोड़ देते हैं और प्राथमिक कुंजी बनाते समय परिशुद्धता को 6 पर सेट करते हैं।

क्या सटीक और पैमाने के लिए खड़े हो?

जवाबों:


203

परिशुद्धता 4, स्केल 2: 99.99

प्रेसिजन 10, स्केल 0: 9999999999

परिशुद्धता 8, स्केल 3: 99999.999

परिशुद्धता 5, स्केल -3: 99999000


15
क्या आप कृपया नकारात्मक पैमानों के व्यवहार की व्याख्या कर सकते हैं?
गीक

2
ऐसा लगता है कि गोल / अनदेखा करता है कि दशमलव के कई पूर्णांक मान बचे हैं
JDPeckham

3
ध्यान रखें कि परिशुद्धता में हमेशा स्केल भाग शामिल होता है। उदाहरण: परिशुद्धता 4, स्केल 2 - किसी भी संख्या में विफल रहेगा> 99.9999 ..; कोशिश करें: दोहरे से कास्ट (99.99999 नंबर के रूप में NUMBER (4,2)) का चयन करें; //ठीक है; दोहरे से कास्ट (100.9 के रूप में NUMBER (4,2)) का चयन करें; // असफल;
जामा जफरोव

@JamaDjafarov 99.99999 के रूप में नीचे देखा जा सकता है विफल रहता है: `21:53:54 CB900 @ XYZ> दोहरी से कास्ट (99.99999 नंबर के रूप में NUMBER (4,2)) का चयन करें; पंक्ति 1 पर दोहरी * त्रुटि से कास्ट (99.99999 नंबर के रूप में NUMBER (4,2)) का चयन करें: ORA-01438: इस स्तंभ के लिए अनुमत निर्दिष्ट परिशुद्धता से बड़ा मान 21:52:32 CB900 @ ASCEND1> v $ उदाहरण से चयनित संस्करण; संस्करण ------------------------------------------------- - 12.1.0.2.0 `
फाल्गुन

@ फाल्गुन डीयूएल से (० ९९.९९९ को नंबर (४,२) के रूप में) चुनें; एक बुरा उदाहरण है क्योंकि ट्रंकेशन 99 से 100 तक की संख्या को गोल करेगा, जो तब एक NUMBER (4,2) के लिए बहुत बड़ा है। DUAL से सेलेक्ट कास्ट (88.8888 नंबर NUMBER (4,2)) आज़माएं; इसके बजाय प्रतिक्रिया देखने के लिए 88.89 है।
सुपरबेक

58

परिशुद्धता महत्वपूर्ण अंकों की संख्या है। Oracle 1 से 38 तक की सटीकता के साथ संख्याओं की पोर्टेबिलिटी की गारंटी देता है।

स्केल, दशमलव बिंदु के दाईं ओर (सकारात्मक) या बाएं (नकारात्मक) अंकों की संख्या है। पैमाने -84 से लेकर 127 तक हो सकता है।

आपके मामले में, सटीक 6 के साथ आईडी का मतलब है कि यह 7 या अधिक महत्वपूर्ण अंकों के साथ एक संख्या को स्वीकार नहीं करेगा।

संदर्भ:

http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832

उस पृष्ठ के कुछ उदाहरण भी हैं जो आपको सटीक और पैमाना समझने में मदद करेंगे।


1
इसका मतलब है कि आखिरी बार 1000000 होगा?
user700792

9
+1: मुझे लगता है कि यह समझने की कुंजी आंतरिक संख्या प्रारूप - मंटिसा और प्रतिपादक को समझना है। परिशुद्धता मंटिसा की संभावित लंबाई पर एक सीमा रखता है, और स्केल न्यूनतम घातांक की संभावित सीमा पर सीमा रखता है।
डेविड एल्ड्रिज

@DavidAldridge मैं आपकी प्रतिध्वनि करता हूं। मुझे लगता है कि आपको इसे मंटिसा और प्रतिपादक के बारे में एक जवाब के रूप में पोस्ट करने पर विचार करना चाहिए। एक संख्या वास्तव में एक चर लंबाई प्रारूप में संग्रहीत होती है।
ललित कुमार B

55

परिशुद्धता अंकों की कुल संख्या है, 1 और 38 के बीच हो सकती है।
स्केल दशमलव बिंदु के बाद अंकों की संख्या है, जिसे गोलाई के लिए नकारात्मक के रूप में भी सेट किया जा सकता है।

उदाहरण:
NUMBER (7,5): 12.12345
NUMBER (5,0): 12345

ORACLE वेबसाइट पर अधिक विवरण:
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832


और स्केल दशमलव बिंदु के दाईं ओर (सकारात्मक) या बाईं (नकारात्मक) अंकों की संख्या है, न कि दशमलव बिंदु के बाद।
ललित कुमार B

KoljaTM का उदाहरण देखें। परिशुद्धता कितने महत्वपूर्ण अंक हैं, जिनका मान हो सकता है (यानी, स्थान धारकों के रूप में "0" ही नहीं)। स्केल इंगित करता है कि दशमलव बिंदु के संबंध में वे कैसे गिरते हैं। स्केल नेगेटिव हो सकता है, यह दर्शाता है कि ABOVE 0 की आपको क्या परवाह है। NUMBER (1, -4): केवल 10 मानों की अनुमति देता है: 00000, 10000, 20000 ... 90000
गॉर्डोन

1
परिशुद्धता केवल अंकों की कुल संख्या नहीं है। जैसा कि डेविड एल्ड्रिज ने मनोजिंस को अपनी टिप्पणी में बताया कि यह मंटिसा है - आप कितने महत्वपूर्ण अंकों की परवाह करते हैं। प्रतिपादक के रूप में सोचा स्केल अधिक सटीक, यद्यपि गूढ़ है, स्पष्टीकरण। दशमलव बिंदु के बाद किसी भी नकारात्मक पैमाने का कोई अंक नहीं होगा, और यह होगा कि दशमलव के बाईं ओर के रूप में कई 0 स्थान धारक हैं। NUMBER (1, -4) में 5 अंक होंगे, लेकिन 10,000 में से केवल पहले स्थान पर आपके पास एक मूल्य होगा जिसकी आपको परवाह है।
गॉर्डन

34

शायद अधिक स्पष्ट:

ध्यान दें कि परिशुद्धता अंकों की कुल संख्या, स्केल शामिल है

नंबर (प्रेसिजन, स्केल)

परिशुद्धता 8, स्केल 3: 87654.321

परिशुद्धता 5, स्केल 3: 54.321

परिशुद्धता 5, स्केल 1: 5432.1

परिशुद्धता 5, स्केल 0: 54321

परिशुद्धता 5, स्केल -1: 54320

परिशुद्धता 5, स्केल -3: 54000


19

स्केल दशमलव बिंदु (या आपके स्थान के आधार पर कोलन) के बाद अंकों की संख्या है

परिशुद्धता महत्वपूर्ण अंकों की कुल संख्या है

पैमाने VS सटीक


1

परिशुद्धता: इसका मूलांक बिंदु से पहले या बाद में अंकों की कुल संख्या है। EX: 123.456 यहाँ परिशुद्धता 6 है।

स्केल: इसका मूलांक बिंदु के बाद अंकों की कुल संख्या है। EX: 123.456 यहाँ स्केल 3


-5

यदि मान 9999.988 और परिशुद्धता 4, स्केल 2 है तो इसका मतलब है 9999 (यह सटीकता का प्रतिनिधित्व करता है) ।99 (स्केल 2 है। 988 को .99 के लिए गोल किया गया है।

यदि मान 9999.9887 है और सटीकता 4 है, तो स्केल 2 है तो इसका मतलब 9999.99 है


7
नहीं, परिशुद्धता स्टोर करने के लिए महत्वपूर्ण अंकों की संख्या है। आपके दोनों मामलों में संग्रहीत परिशुद्धता 6 है और पैमाना 2 है
डेविड एल्ड्रिज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.