Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Округление до большего значения / 9 сообщений из 9, страница 1 из 1
19.07.2012, 14:16
    #37885362
zanderman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление до большего значения
Sql serv 2008 r2 Dev. Edition

Функция
Код: sql
1.
SELECT ROUND(4.1,0) 



Вернет значение 4.
Есть ли функция (как RoundUP в Excel)
Которая вернет значение 5.
То есть округлит не до ближайшего целого, а до большего.
...
Рейтинг: 0 / 0
19.07.2012, 14:17
    #37885365
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление до большего значения
CEILING
...
Рейтинг: 0 / 0
19.07.2012, 14:27
    #37885391
zanderman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление до большего значения
Shakill,

Спасибо.

Вдогонку еще вопрос.
Есть таблица

Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE [dbo].[Delivery] (
   [ContractLT] int NOT NULL,
  [AdminLT] int NOT NULL,
  [TotalLT] money NULL
)
ON [PRIMARY]
GO



Выполняю запрос

Код: sql
1.
2.
UPDATE dbo.Delivery
SET TotalLT = (ContractLT+AdminLT)/7



Возвращаются целые значения. Например:
ContractLT = 24 AdminLT = 5 TotalLT = 4.14, а результат 4.
...
Рейтинг: 0 / 0
19.07.2012, 14:28
    #37885394
Alexandr Kr.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление до большего значения
zanderman,

Делайте так
Код: sql
1.
2.
UPDATE dbo.Delivery
SET TotalLT = (ContractLT+AdminLT)*1.0/7
...
Рейтинг: 0 / 0
19.07.2012, 14:32
    #37885403
zanderman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление до большего значения
Alexandr Kr.,

Все стало на месте,когда изменил типы, например:

Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE [dbo].[Delivery] (
   [ContractLT] money NOT NULL,
  [AdminLT] money NOT NULL,
  [TotalLT] money NULL
)
ON [PRIMARY]
GO



Но при этом в полях [ContractLT] [AdminLT] хранятся только целый значения....
Подскажите,а в чем загвоздка вычислений:
int + int = (float or money)?
...
Рейтинг: 0 / 0
19.07.2012, 14:34
    #37885412
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление до большего значения
zanderman, деление двух интов дает на выходе тоже инт (т.е. 4 в вашем примере), и только потом он приводится к типу приемника.
поэтому для более точного деления надо обеспечить чтобы хотя бы один из операндов был с точкой
...
Рейтинг: 0 / 0
19.07.2012, 14:39
    #37885426
zanderman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление до большего значения
Shakill,

Все понятно.
Думаю вопрос почему так, так будет не уместен?)
...
Рейтинг: 0 / 0
19.07.2012, 14:51
    #37885457
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление до большего значения
...
Рейтинг: 0 / 0
19.07.2012, 14:54
    #37885466
zanderman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление до большего значения
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Округление до большего значения / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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