Изменить числовой столбец на деньги - PullRequest
0 голосов
/ 13 марта 2012

У меня есть такие значения в моем столбце суммы

323547.23700
12345643.34222

Я хочу преобразовать это в этот формат

$323,547.24
$12,345,643.34

Я использую это

CHAR (36) + CONVERT (VARCHAR, @ Сумма, 1)

но это не дает мне то, что я хочу

Это может дать подсказку, что я делаю

DECLARE @amount numeric(30,5)
SET @amount = 323547.23700
DECLARE @amount1 numeric(30,5)
SET @amount1 =12345643.34222

SELECT [USD Amount]= CHAR(36)+CONVERT(VARCHAR,@amount,1)

Ответы [ 2 ]

1 голос
/ 13 марта 2012

Сначала мы можем привести тип данных @amount к money.А затем преобразовать в varchar bt, указав стиль как 1.

DECLARE @amount числовое (30,5) SET @amount = 323547.23700 DECLARE @ amount1 числовое (30,5) SET @ amount1 = 12345643.34222

выберите CHAR (36) + CONVERT (varchar (20), CAST (@amount как деньги), 1) выберите CHAR (36) + CONVERT (varchar (20), CAST (@ amount1 как деньги), 1)

1 голос
/ 13 марта 2012

Как указал Адемар, вы пропускаете явную длину столбца varchar, это помогает:

SELECT [USD Amount]= CHAR(36)+CONVERT(VARCHAR(30),@amount,1)

1 в конце должен дать вам желаемую десятичную точку и ее значения.

...