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

Откуда: Krasnodar-Russia
Сообщений: 566
Всем привет.
Подскажите,пожалуйста, как узнать текущий(date-1) и предыдущий месяц(date-1)

select year(getdate())*100 + month(getdate()) --так получаю текущий месяц из даты.

Заранее спасибо.
11 дек 14, 11:26    [16982203]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
aleks2
Guest
-- предыдущий месяц
dateadd( month, -1, getdate() ) 
11 дек 14, 11:30    [16982232]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
SELECT
 CONVERT(CHAR(6),GETDATE(),112)
,CONVERT(CHAR(6),DATEADD(MONTH,-1,GETDATE()),112);
11 дек 14, 11:41    [16982302]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
Станислав Клевцов
Member

Откуда: Krasnodar-Russia
Сообщений: 566
iap
SELECT
 CONVERT(CHAR(6),GETDATE(),112)
,CONVERT(CHAR(6),DATEADD(MONTH,-1,GETDATE()),112);


Посмотрел ваш запрос.

То, что нужно.
SELECT CONVERT(CHAR(6),GETDATE()-1,112)
          ,  CONVERT(CHAR(6),DATEADD(MONTH,-1,GETDATE()-1),112);


Спасибо iap и aleks2 .
11 дек 14, 13:30    [16983232]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
Станислав Клевцов,

GETDATE()-1
это что?
Не надо так делать.
Лучше и понятнее
DATEADD(DAY,-1,GETDATE())
11 дек 14, 13:35    [16983259]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 9162
GETDATE()-1 сегодня работает, а завтра - нет. Не стоит использовать хакерские приёмы, существуют документированные функции работы со временем.
11 дек 14, 15:04    [16983927]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
Станислав Клевцов
Member

Откуда: Krasnodar-Russia
Сообщений: 566
iap
Станислав Клевцов,

GETDATE()-1
это что?
Не надо так делать.
Лучше и понятнее
DATEADD(DAY,-1,GETDATE())


SELECT CONVERT(CHAR(6),DATEADD(DAY,-1,GETDATE()),112)
          ,  CONVERT(CHAR(6),DATEADD(MONTH,-1,DATEADD(DAY,-1,GETDATE())),112);


тогда получается так нужно ?
11 дек 14, 15:18    [16984001]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
Glory
Member

Откуда:
Сообщений: 104751
Станислав Клевцов
тогда получается так нужно ?

Зачем для получения текущего года-месяца надо из текущей даты отнимать один день ?
11 дек 14, 15:20    [16984017]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
Станислав Клевцов
Member

Откуда: Krasnodar-Russia
Сообщений: 566
Владислав Колосов
GETDATE()-1 сегодня работает, а завтра - нет. Не стоит использовать хакерские приёмы, существуют документированные функции работы со временем.


Недавно начал работать с MSSQL ... еще не успел прочитать основную документацию по T-SQL и изучить свякие фишки (...DATEADD(MONTH,-1,GETDATE()-1)...).
Всем кто подсказал -> большое спасибо!
11 дек 14, 15:26    [16984035]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
Станислав Клевцов
Member

Откуда: Krasnodar-Russia
Сообщений: 566
Glory
Станислав Клевцов
тогда получается так нужно ?

Зачем для получения текущего года-месяца надо из текущей даты отнимать один день ?


Пример - > если текущий день 1 декабря, то необходимо получить данные за ноябрь и октябрь...;
если текущий день 2 декабря, то необходимо получить данные за декабрь и ноябрь.
11 дек 14, 15:28    [16984050]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
Glory
Member

Откуда:
Сообщений: 104751
Станислав Клевцов
Пример - > если текущий день 1 декабря, то необходимо получить данные за ноябрь и октябрь...;

Тогда почему название темы "Получение текущего месяца" ?

Станислав Клевцов
если текущий день 2 декабря, то необходимо получить данные за декабрь и ноябрь.

А чем 2ое декабря лучше 1го декабря ?
11 дек 14, 15:33    [16984072]     Ответить | Цитировать Сообщить модератору
 Re: Получение текущего и предыдущего месяц в формате YYYYMM  [new]
Станислав Клевцов
Member

Откуда: Krasnodar-Russia
Сообщений: 566
Glory
Станислав Клевцов
Пример - > если текущий день 1 декабря, то необходимо получить данные за ноябрь и октябрь...;

Тогда почему название темы "Получение текущего месяца" ?

Станислав Клевцов
если текущий день 2 декабря, то необходимо получить данные за декабрь и ноябрь.

А чем 2ое декабря лучше 1го декабря ?


такая задача стоит
12 дек 14, 10:42    [16987182]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить