2014-03-20 3 views
0

мне нужно округлить это результат запросапреобразования значений в SQL

'$'+CONVERT(varchar, CONVERT(money, Amount) , 1) as Amount 

Мне нужно преобразовать эту колонку денег

cast(round([YearlyProfit]-[MonthlyProfit],0)as int), 
cast(round(isnull(sum(SalesProfit]),0),0) as int 

Я пробовал много и не мог сделать преобразование. Пожалуйста, предложите мне.

Моя Попробуйте до сих пор:

select left(convert(varchar(20),[YearlyProfit]-[MonthlyProfit],1),charindex('.',convert‌​(varchar(20),[YearlyProfit]-[MonthlyProfit],1)) -1) 
+0

какая ошибка у вас возникла? Что ожидалось от вывода, полученного у вас? –

+0

1st Query - мне нужно округлить значение. 2-й запрос. Мой ожидаемый результат похож на значение столбца, которое должно отображаться как 10 000, но теперь значение моего столбца равно 10000. Я смущен, применяя преобразования. –

+0

вы выставляете его как 'INT', почему он будет отображаться как« MONEY » –

ответ

0

Если вы хотите отобразить 10000.00, как 10,000 вы можете использовать следующие

DECLARE @mymoney MONEY = '$1000000000.00' 

SELECT LEFT(CONVERT(VARCHAR(20), @mymoney, 1), CHARINDEX('.', CONVERT(VARCHAR(20), @mymoney, 1)) - 1) 

Первый шаг convert деньги на varchar с запятыми и периодом. чем при использовании LEFT взять только то, что приходит до '.'

+0

Я не вижу, чтобы столбцы отображались, так как мой столбец теперь имеет значение округления, подобное этому 10000. –

+0

. Обновите свой вопрос с помощью кода, который вы пробовали. –

+0

Обновлено мое сообщение –

Смежные вопросы