Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Думал, думал, ничего не надумал... / 3 сообщений из 3, страница 1 из 1
02.10.2002, 15:16:25
    #32054835
Alex_VB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Думал, думал, ничего не надумал...
Попытаюсь объяснить проблему:
Есть таблица оборудования, и таблица нормативов.
В табл. оборудования есть дата последнего капитального ремонта, а в табл. нормативов пробег, который отображает интервал между ремонтами.
Так вот, для того чтобы рассчитать график на год, мне нужно взять дату последнего капитального ремонта (из табл. оборудования) к ней прибавить норматив (из табл. нормативов), и полученную дату поместить во временную таблицу для дальнейших расчетов.
Конечно, это задача простая, но дело в том, что полученная новая дата может быть меньше чем расчетная.
Расчетная дата лежит в пределах расчетного периода, а точнее, допустим с 01.01.2003 до 31.12.2003.
Допустим, дата последнего ремонта была 01.01.1996, а следующий ремонт будет через 01.01.1996 + Норматив, так вот, может получится что она будет например 01.10.1996, что не попадает в мой рабочий диапазон, т.к. 01.10.1996 меньше 01.01.2003. Значит нужно прибавлять до тех пор, пока дата не будет больше 01.01.2003.
Понятно, что на любом языке программирования нужно использовать цикл. Но как средствами T-SQL можно выполнить подобное???

Спасибо,
...
Рейтинг: 0 / 0
02.10.2002, 15:40:14
    #32054848
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Думал, думал, ничего не надумал...
Понятно, что на любом языке программирования нужно использовать цикл

Вовсе не обязательно использовать цикл
01.01.1996 + INT((01.01.2003 - 01.01.1996) / Норматив) даст вам ближайшую к 01.01.2003 дату
...
Рейтинг: 0 / 0
02.10.2002, 15:46:55
    #32054856
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Думал, думал, ничего не надумал...
Поправочка

01.01.1996 + Норматив * INT((01.01.2003 - 01.01.1996) / Норматив)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Думал, думал, ничего не надумал... / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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