2010-11-24 17 views
5

के साथ 2005 मुद्रा स्वरूप वहाँ एसक्यूएल सर्वर में एक पैसा क्षेत्र 2005 से फ़ॉर्मेट करने के लिएएसक्यूएल सर्वर अल्पविराम और अवधि

पूर्व) फ़ील्ड में कास्ट करने के लिए एक रास्ता है:

99966.00 

और हम वापस करना चाहते उसे इस प्रारूप में: $ 99,966.00

+6

आप ऐसा क्यों करना चाहते हैं? डेटा परत प्रस्तुति परत के लिए डेटा प्रारूपित करने के लिए परेशान नहीं होना चाहिए ... – Lucero

उत्तर

15
'$' + convert(varchar,cast(SalesProducts.Price as money),-1) as Price 

यह

+3

... जब तक कोई आपके SQL सर्वर पर क्षेत्रीय सेटिंग्स को परिवर्तित नहीं करता है। – Lucero

1

क्या काम करता है CHF 9'666,00 या के बारे में £ 99,966.00?

"मुद्रा" डेटाबेस में एक संख्या है: नहीं एक क्षेत्रीय या स्थानीय सेटिंग

2

यह कोशिश यह एसक्यूएल सर्वर 2008 और नीचे के लिए काम करता है (2012 पहले से ही एक प्रारूप() फ़ंक्शन है कि आप उपयोग कर सकते हैं)

इस केवल डेटा प्रकार धन और SmallMoney

के लिए काम करता
declare @v money -- or smallmoney 
set @v = 1000.
select convert(varchar(25), @v, 0) 
select convert(varchar(25), @v, 1) 
select convert(varchar(25), @v, 2) 
select convert(varchar(25), @v, 126) 

select '$' + convert(varchar(25), @v, 0) 
select '$' + convert(varchar(25), @v, 1) 
select '$' + convert(varchar(25), @v, 2) 
select '$' + convert(varchar(25), @v, 126) 

आशा है कि यह मदद!

0

प्रयास करें

declare @d float = 34.5 

select format(@d, '0.0') -- 34.5 
select format(@d, '00') -- 35 
select format(@d, '0000') -- 0035 
select format(@d, '0000.00') -- 0034.50 

अच्छा?

संबंधित मुद्दे