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

нужно из словаря дат выбрать дату, когда день месяца совпадает с заданным днем, пример:

declare @t table (dt date)
declare @date date = '2016-10-01'

while @date <= '2032-01-31'
begin
insert into @t select @date


set @date = DATEADD(day, 1, @date)
end

select * from @t t where day(t.dt) = DAY('2032-01-31') order by 1 desc


т.е. выбрать все 31 числа в диапазоне, соответственно если нет 31, то последний день месяца.
20 окт 16, 16:18    [19805333]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать даты из словаря  [new]
Вот_проходил_мимо
Guest
В моем примере много дат не попало в выборку, соответственно 30-ые числа, 28 февраля, проблема високосного года ...
20 окт 16, 16:28    [19805387]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать даты из словаря  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Вот_проходил_мимо,

http://sqlmag.com/t-sql/cheat-sheet-calculating-important-dates
20 окт 16, 22:41    [19806498]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить