Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вычисление периодов в колонке дат  [new]
Andreyka1
Guest
передо мной стоит проблема
есть таблица
грубо говоря

01/01/03
01/10/03
02/25/03
05/20/03
07/24/03


и т.д.

как можно быстро получить не используя курсоры
список периодов между датами в таблице если отсортировать их по убыванию или возрастанию

т.е. все что хотелось бы что то типа
10
15
5

и т.д.

или если проще даже, нужен максимальный период/разрыв (дней) между датами, т.е. одно значение
23 фев 05, 01:12    [1339696]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление периодов в колонке дат  [new]
oledb
Member

Откуда:
Сообщений: 1
-- Try this:

DECLARE @date TABLE (
x_date datetime
)

INSERT @date
SELECT d= '01/01/2003' UNION ALL
SELECT '01/10/2003' UNION ALL
SELECT '02/25/2003' UNION ALL
SELECT '05/20/2003' UNION ALL
SELECT '07/24/2003'

SELECT period = MIN(DATEDIFF(day,a.x_date, b.x_date))
FROM @date a
INNER JOIN @date b
ON a.x_date < b.x_date
GROUP BY a.x_date

SELECT max_period = MAX(period)
FROM (
SELECT period = MIN(DATEDIFF(day,a.x_date, b.x_date))
FROM @date a
INNER JOIN @date b
ON a.x_date < b.x_date
GROUP BY a.x_date
) x
23 фев 05, 03:23    [1339727]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить