Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Округление / 4 сообщений из 4, страница 1 из 1
27.10.2001, 17:27
    #32016137
Michael
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
Есть ли такая функция или
Как можно сделать, чтобы вещественное число
не округлять до двух знаков, а обрезать
Например,
Из 123,456 = 123,45
23,5234 = 23,52
...
Рейтинг: 0 / 0
27.10.2001, 21:11
    #32016138
Sergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
Примерно так:

--Здесь можно выбрать real или float в зависимости от точности числа
--Если тип real, то @Value-FLOOR(@Value) будет давать большую
--погрешность(@Precision>6) и LEFT будет неправильно работать
DECLARE @Value real
DECLARE @Preсision smallint

SET @Value =123.456
SET @Preсision = 2
-- Это 2 символа чтобы учесть ноль с точкой
SELECT FLOOR(@Value) + LEFT(@Value-FLOOR(@Value),@Preсision+2)
...
Рейтинг: 0 / 0
28.10.2001, 11:12
    #32016147
Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
Можно и так:
1. умножаем на 100
2. отбрасываем дробную часть
3. делим на 100
...
Рейтинг: 0 / 0
28.10.2001, 12:05
    #32016155
AL_R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
Можно еще проще:

round(123.456, 2, 1)

см. описание round в BOL.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Округление / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]