SQL सर्वर 2005 str()
में गोल करते समय कुछ फ़्लोट मानों पर अजीब व्यवहार करता है। नेट में खोज करते समय, मुझे नीचे दिए गए कोड और स्पष्टीकरण मिले।एसक्यूएल सर्वर 2005: str (4.65,5,1) = 4.7, str (3.65,5,1) = 3.6?
select STR(4.65,5,1) -- it will give 4.7
select STR(3.65,5,1) -- it will give 3.6
मैं कुछ स्पष्टीकरण here और here मिला, लेकिन वहाँ (कि T-SQL स्पष्टीकरण में से एक से लिया ऊपर लिंक) से कुछ भी नहीं मिला
किसी को भी कृपया समझा सकते हैं कारण है कि यह बर्ताव करता है इस तरह?
अच्छी व्याख्या। धन्यवाद। –
@ एम कुमरन: यदि आप इसे उत्तर के रूप में सोचते हैं, तो इसे स्वीकार करें ... –
बीओएल से: "SQL सर्वर दो संभावित मानों में से एक के रूप में व्यवहार करता है। यदि 1 <= n <= 24, n को 24 के रूप में माना जाता है। यदि 25 <= n <= 53, n को 53 के रूप में माना जाता है। " एमएसएसक्यूएल में कोई फ्लोट (एन) नहीं है, यह एक उपनाम है। सब कुछ नीचे असली (सिंगल-प्रेसिजन) या फ्लोट (डबल-प्रेसिजन) है। डीबी में स्वरूपण के बजाय बेहतर (5, 1) को कास्ट करें। एसटीआर समारोह VARCHAR लौटाता है। – wqw