2013-12-16 2 views
-3

Как использовать Что-то вроде этого:?Преобразование поплавка в десятичное с параметризованной точностью

Convert(Decimal(15,@DecimalPlace),table.column) AS XYZ 

Я хочу, чтобы преобразовать значение с плавающей запятой в десятичном, где точность передаются в качестве внешнего параметра

+0

Какая СУБД вы используете (PostgreSQL, MySQl, MS SQL ...), и вы проверили документацию о наличии набора доступных функций? – frlan

+0

Извините за неполную информацию .. Я использую SQL Server 2008R2 – AMIT

ответ

1

Я думаю, что вы должны были бы использовать динамический SQL для этого:

DECLARE @DecimalPlace INT = 4 
DECLARE @sql NVARCHAR(MAX) = 'SELECT Convert(Decimal(15,' + CAST(@DecimalPlace AS NVARCHAR) + '),table.column) AS XYZ FROM table' 
EXEC sp_executesql @sql 

SQL Fiddle example

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