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

दशमलव और बिगिंट विभाजित होने पर पैमाने को कैसे परिभाषित किया जाता है?

तर्क 1:3 AS DECIMAL(19, 8)

तर्क 2:27 AS DECIMAL (18, 0) -- डिफ़ॉल्ट सटीकता 18 है, डिफ़ॉल्ट पैमाना 0 है (BIGINT DECIMAL . में बदल दिया गया प्रकार वरीयता के कारण)

p1 = 19
p2 = 18
s1 = 8
s2 = 0

आइए उदाहरण 1 के लिए गणना करें:

precision: (19 - 8 + 0) + MAX(6, 8 + 18 + 1) = 38
scale:     MAX(6, 8 + 18 + 1) = 27

आपके सभी उदाहरणों के लिए आपको हमेशा अधिकतम 27 पैमाना मिलेगा।

 0.111111111111111111111111111 (27)
11.111111111111111111111111111 (27)
 0.005488934750153684025643277 (27)

पूरा भाग केवल आवश्यक अंक (1), (2), (1) लेता है।

मेरे लिए सब कुछ पूरी तरह से मान्य है।

यह उत्तर @Paul White के कार्य पर आधारित है। से Decimal Truncation In division .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में VARCHAR और NVARCHAR डेटा प्रकार

  2. किसी भी JSON को SQL सर्वर में की-वैल्यू पेयर (EAV फॉर्मेट) की सूची में पढ़ें

  3. उन तालिकाओं में पंक्तियों को कैसे हटाएं जिनमें अन्य तालिकाओं के लिए विदेशी कुंजियाँ हों

  4. SQL डेटिफ़ - पंक्तियों के बीच दिनांकित खोजें

  5. SELECT DISTINCT विभिन्न मामलों पर ध्यान नहीं देता