Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / выгрузка данных из БД за текущий месяц / 8 сообщений из 8, страница 1 из 1
08.06.2020, 12:56
    #39967038
jsg420
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из БД за текущий месяц
Добрый день!
У меня есть запрос, который делает выборку данных в указанном диапазоне.
"RepStartDate = '2020-06-01' DECLARE @RepEndDate DATETIME SET @RepEndDate = '2020-07-01"

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

Структура таблицы:

RepDate PERSON_NAME ShiftRange ShiftStart ShiftEnd
01.06.2020 Ivanova, Masha 05:00-14:00 5:00:00 14:00:00
... ... ... ... ...
...
Рейтинг: 0 / 0
08.06.2020, 13:12
    #39967047
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из БД за текущий месяц
jsg420,

Используйте функцию GETDATE() для получения текущего времени сервера. В справке также функции даты и времени.
...
Рейтинг: 0 / 0
08.06.2020, 13:40
    #39967063
Penner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из БД за текущий месяц
CONVERT(Date, getdate(), 104)
...
Рейтинг: 0 / 0
08.06.2020, 13:54
    #39967074
jsg420
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из БД за текущий месяц
Владислав Колосов,

на сколько мне известно данная функция возвращает данные за текущий день. А мне нужно чтобы подгружались данные за весь отчетный месяц. К примеру если обновлю таблицу сегодня у меня в таблице должны быть данные с 01.06.2020 по сегодня. В сл месяц соответственно так же, но чтобы там не было данных за предыдущий месяц.
...
Рейтинг: 0 / 0
08.06.2020, 14:01
    #39967077
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из БД за текущий месяц
jsg420
Владислав Колосов,

на сколько мне известно данная функция возвращает данные за текущий день. А мне нужно чтобы подгружались данные за весь отчетный месяц. К примеру если обновлю таблицу сегодня у меня в таблице должны быть данные с 01.06.2020 по сегодня. В сл месяц соответственно так же, но чтобы там не было данных за предыдущий месяц.
У вас проблемы с тем, чтобы вычислить первый и последний день месяца? Или с тем, что вам программист нужен?
...
Рейтинг: 0 / 0
08.06.2020, 14:01
    #39967078
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из БД за текущий месяц
Penner
CONVERT(Date, getdate(), 104)


1. CONVERT + style нужны при конвертации из строки в date/datetime и обратно
при конвертации из datetime в date достаточно
select convert(date, getdate())
или
select cast(getdate() as date)

2. При чем здесь вообще cast(getdate() as date), если нужно с начала месяца.
...
Рейтинг: 0 / 0
08.06.2020, 14:03
    #39967081
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из БД за текущий месяц
...
Рейтинг: 0 / 0
08.06.2020, 14:14
    #39967085
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из БД за текущий месяц
Код: sql
1.
2.
3.
4.
SELECT T.* FROM TABLE1 AS T
WHERE T.REPDATE BETWEEN CAST(CONVERT(CHAR(6),REPDATE,112)+'01' AS DATE) --первое число месяца RepDate
AND DATEADD(DAY,-1, CONVERT(CHAR(6), DATEADD(MONTH,1,REPDATE),112)+'01')--последнее число месяца RepDate
;


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


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