Как округлить значения с плавающей точкой

голоса
0

Таблица 1

Id value

001 2.3
002 1.3
003 3
004 5.3
...
...

значение столбца тип данных с плавающей точкой

Заметка:

значение столбца будет .3 всегда, она не придет , как.1, .2, .4, .5 to .9

Теперь я хочу, чтобы отобразить .5 вместо .3 для всех значений ...

Ожидаемые результаты

значение Id

001 2.5 
002 1.5
003 3
004 5.5
...
...

Как сделать запрос для этого.

Нужна SQL Query Помощь

Задан 04/07/2012 в 07:11
пользователем
На других языках...                            


2 ответов

голоса
0

Вы можете использовать функцию пола, чтобы выяснить, есть ли десятичный компонент

Пожалуйста, попробуйте следующий запрос

update table1 set value = value + 0.2 
where value > floor(value);
Ответил 04/07/2012 в 07:25
источник пользователем

голоса
2

Используйте круглую функцию , чтобы получить результат

 Declare @Sample Table
 (ID int ,
 value float)

 Insert into @Sample
 values
(001,2.3),(002,1.4),(003,3),(004,5.3)

 Select ID,round(value/5,1)*5 from @Sample

Если значение больше, чем .3, то он будет округленным до .5 и если оно меньше 0,3, то целое значение будет извлечено

Ответил 04/07/2012 в 07:26
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more