Формат валюты SQL Server 2005 с запятой и точкой - PullRequest
5 голосов
/ 24 ноября 2010

Есть ли способ привести денежное поле в SQL Server 2005 для его форматирования

Пример) поле содержит:

99966.00

и мы хотим вернуть его в следующем формате: $ 99 966,00

Ответы [ 4 ]

16 голосов
/ 24 ноября 2010
'$' + convert(varchar,cast(SalesProducts.Price as money),-1) as Price

Это работает

2 голосов
/ 07 декабря 2013

попробуйте это работает для SQL Server 2008 и ниже (в 2012 уже есть функция FORMAT (), которую вы можете использовать)

это будет работать только для типов данных Money и SmallMoney

declare @v money -- or smallmoney
set @v = 1000.0123
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)

НАДЕЖДА В ЭТОМ ПОМОЩЬ!

1 голос
/ 24 ноября 2010

Как насчет CHF 9'666,00 или £ 99,966.00?

"Валюта" - это число в базе данных: не региональная или региональная настройка

0 голосов
/ 12 июня 2015

Попробуйте

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

Хорошо

...