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

SQL Server 2008 में दशमलव संख्याओं को पूर्णांकित करना

1) select CAST(FLOOR(2 * 3.69) / 2 AS decimal(2, 1)) पहला मामला संभालता है - एक एसक्यूएल सर्वर फ़ोरम पर इसी तरह के प्रश्न के उत्तर के सौजन्य से , जिसे मैंने अनुकूलित किया और जल्दी से जाँच लिया।

ध्यान दें कि यदि आप जिन नंबरों को निकटतम 0.5 पर गोल कर रहे हैं बड़ा हो सकता है (उदा. 333.69 => 333.5 ), अधिक decimal निर्दिष्ट करना सुनिश्चित करें सटीक जब आप कास्ट करते हैं (उदा. select CAST(FLOOR(2 * 3.69) / 2 AS decimal(10, 1)) ), या आपको एक अतिप्रवाह त्रुटि मिल सकती है:

Msg 8115, Level 16, State 8, Line 1
Arithmetic overflow error converting numeric to data type numeric.

अतिरिक्त सटीकता बॉटम-लाइन परिणाम को प्रभावित नहीं करेगी (यानी select CAST(FLOOR(2 * 3.69) / 2 AS decimal(10, 1)) और select CAST(FLOOR(2 * 3.69) / 2 AS decimal(2, 1)) चुनें दोनों उपज 3.5 ); लेकिन यह बेकार है यदि आप जिन संख्याओं को गोल कर रहे हैं वे हमेशा छोटी रहेंगी।

उदाहरणों के साथ ऑनलाइन संदर्भ टी-एसक्यूएल के लिए उपलब्ध हैं FLOOR , CAST , और decimal मदद करने के लिए।

2) select ROUND(142600, -3) दूसरा मामला संभालता है।

ऐसा ही एक ऑनलाइन संदर्भ टी-एसक्यूएल ROUND



  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 सर्वर लेनदेन लॉग, भाग 2:लॉग आर्किटेक्चर

  2. बाधाओं की जाँच करें:TRY/CATCH बनाम Exists ()

  3. एसक्यूएल प्राथमिक कुंजी और सूचकांक

  4. SQL सर्वर सम्मिलित करें यदि मौजूद नहीं है तो सर्वोत्तम अभ्यास

  5. तदर्थ एसक्यूएल बनाम संग्रहित प्रक्रियाओं को लिखना कब बेहतर होता है