शुक्र है(?), SQL Server 2012+ . में , अब आप FORMAT() का उपयोग कर सकते हैं इसे हासिल करने के लिए:
FORMAT(@s,'#,0.0000')
पिछले संस्करणों में, वास्तविक बदसूरत दिखने के जोखिम पर
[क्वेरी] :
declare @s decimal(18,10);
set @s = 1234.1234567;
select replace(convert(varchar,cast(floor(@s) as money),1),'.00',
'.'+right(cast(@s * 10000 +10000.5 as int),4))
पहले भाग में, हम अल्पविराम बनाने के लिए MONEY->VARCHAR का उपयोग करते हैं, लेकिन FLOOR() का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि दशमलव .00
पर जाएं। . यह आसानी से पहचाना जा सकता है और स्थानांतरण के मिश्रण का उपयोग करके दशमलव स्थान के बाद 4 अंकों के साथ प्रतिस्थापित किया जाता है (*10000
) और CAST अंक प्राप्त करने के लिए INT (छंटनी) के रूप में।
[परिणाम] :
| COLUMN_0 |
--------------
| 1,234.1235 |
लेकिन जब तक आपको SQL सर्वर प्रबंधन स्टूडियो या SQLCMD का उपयोग करके व्यावसायिक रिपोर्ट नहीं देनी है, यह कभी नहीं है सही समाधान, भले ही यह किया जा सकता है। किसी भी फ्रंट-एंड या रिपोर्टिंग परिवेश में प्रदर्शन स्वरूपण को संभालने के लिए उचित कार्य होते हैं।