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

Откуда: г. Екатеринбург
Сообщений: 670
Добрый день.


т.е. сегодня 04.04.2019... есть ли стандартные функции, которые отдадут 01.04.2019 и 30.04.2019? или надо мудрить с конвертом и т.п.
4 апр 19, 14:17    [21852654]     Ответить | Цитировать Сообщить модератору
 Re: Первая и последняя дата  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
https://www.sql.ru/faq/faq_topic.aspx?fid=115
4 апр 19, 14:22    [21852661]     Ответить | Цитировать Сообщить модератору
 Re: Первая и последняя дата  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7750
Игорь_UUS,

eomonth()
4 апр 19, 14:59    [21852728]     Ответить | Цитировать Сообщить модератору
 Re: Первая и последняя дата  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 670
Владислав Колосов
Игорь_UUS,

eomonth()


Спасибо, то что нужно!

А первый день месяца, что-то подобное есть?
4 апр 19, 15:39    [21852824]     Ответить | Цитировать Сообщить модератору
 Re: Первая и последняя дата  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
Игорь_UUS
Владислав Колосов
Игорь_UUS,

eomonth()


Спасибо, то что нужно!

А первый день месяца, что-то подобное есть?

Ленивый народ пошел. Справку открывать лень, код в одну строку писать лень...

declare @dt= '20190404'
select datefromparts( year(@dt), month(@dt), 1 )


Сообщение было отредактировано: 4 апр 19, 15:47
4 апр 19, 15:44    [21852840]     Ответить | Цитировать Сообщить модератору
 Re: Первая и последняя дата  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 670
Гавриленко Сергей Алексеевич
Игорь_UUS
пропущено...


Спасибо, то что нужно!

А первый день месяца, что-то подобное есть?

ленивый надор пошел. Справку открывать лень, код в одну строку писать лень...

declare @date = '20190404'
select datefromparts( year(@dt), month(@dt), 1 )


а так лучше?

DECLARE @D DATE = GETDATE()

SELECT 
  DATEADD(DAY, 1 - DAY(@D), @D), -- первый день месяца
  EOMONTH(@D) -- последний день месяца
4 апр 19, 15:45    [21852847]     Ответить | Цитировать Сообщить модератору
 Re: Первая и последняя дата  [new]
iap
Member

Откуда: Москва
Сообщений: 46977
Последнюю дату месяца и вычислять-то чаще всего необязательно.
Если это для условия принадлежности некоторой даты данному месяцу, то можно писать "меньше первого числа следующего месяца".
По крайней мере это сработает и для типов со временем, а не только DATE
4 апр 19, 16:04    [21852899]     Ответить | Цитировать Сообщить модератору
 Re: Первая и последняя дата  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7750
Игорь_UUS,

dateadd(day,1,eomonth(ddd,-1)) см. справку по eomonth().
4 апр 19, 16:19    [21852932]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить