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

SQL सर्वर दशमलव स्थानों को अल्पविराम के साथ प्रारूपित करता है

शुक्र है(?), 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 का उपयोग करके व्यावसायिक रिपोर्ट नहीं देनी है, यह कभी नहीं है सही समाधान, भले ही यह किया जा सकता है। किसी भी फ्रंट-एंड या रिपोर्टिंग परिवेश में प्रदर्शन स्वरूपण को संभालने के लिए उचित कार्य होते हैं।



  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 सर्वर में CHARINDEX () बनाम PATINDEX () - क्या अंतर है?

  2. SQL सर्वर में तालिका-स्तरीय अनुमतियाँ प्रदान करें

  3. CSV फ़ाइल आयात करते समय टेक्स्ट के आस-पास के दोहरे उद्धरण चिह्नों को कैसे निकालें?

  4. SQL सर्वर 2005 में दूसरा पहचान कॉलम अनुकरण करने के लिए ट्रिगर का उपयोग करना

  5. गैर-संख्या वर्ण जो SQL सर्वर में ISNUMERIC () का उपयोग करते समय सकारात्मक लौटते हैं