बड़ी संख्या में अल्पविराम लगाने का सबसे अच्छा तरीका


10

मैंने एक नया काम शुरू किया है और इसमें बड़ी संख्याओं का एक समूह शामिल है। वहाँ एक आसान तरीका एक करने के लिए अल्पविराम जोड़ने के लिए है intया decimalक्षेत्र उसे पढ़ने योग्य बनाने के लिए?

उदाहरण के लिए, एसक्यूएल सर्वर बाईं ओर कॉलम आउटपुट करता है, लेकिन मेरी खुद की पवित्रता के लिए, मुझे इसे दाईं ओर की तरह दिखने की आवश्यकता है:

2036150 -> 2,036,150  

... या मुझे कुछ जघन्य लिखना होगा

left(right(vandalized_data),6),3) + ',' + right(left(vandalized_data),6),3)

समारोह?

सही चीज़ डिस्प्ले ग्रिड में कॉमा होगी, फिर आउटपुट में सादे पूर्णांक।

जवाबों:


15

यदि आप SQL सर्वर 2012+ पर हैं, और आप इसे (दशमलव स्थानों के बिना) करना चाहते हैं:

SELECT FORMAT(2036150, N'N0')

यदि आप पहले वाले संस्करण पर हैं, तो आपको कुछ हुप्स के माध्यम से कूदना होगा:

SELECT REPLACE(CONVERT(NVARCHAR(30), CAST((2036150) AS MONEY), 1), N'.00', N'')

18

TSQL का FORMAT फ़ंक्शन ऐसा कर सकता है। ईजी

select format(1232131312342132123.2222,'0,###.##')

आउटपुट

1,232,131,312,342,132,123.22

यदि आप एक अलग विभाजक का उपयोग करना चाहते हैं, तो आप अभी भी .Net प्रारूप स्ट्रिंग में ,एक विशेष अर्थ का उपयोग करते हैं , और फिर ,कुछ और के साथ बदलें । ईजी:

select replace(format(123445678.2222,'#,###.##'),',','_')

आउटपुट

123_445_678.22
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.