Аватар для 19boom96
1 / 1 / 3
Регистрация: 27.11.2014
Сообщений: 263

Выборка данных за прошлый месяц

02.04.2018, 12:16. Показов 39688. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В таблице есть столбец "DATE2" где хранятся данные типа "01.04.2018 1:28:27.07"
Какой условие составить чтобы вывести данные за прошлый месяц?


Раньше пользовался MySQL но подобный ему запрос не работает.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2018, 12:16
Ответы с готовыми решениями:

Выборка данных за текущий и прошлый месяц
Добрый день, есть данный запрос с помощью которого достаю данные за текущий период. Не могу разобраться как в этом же запросе вытащить...

подскажите как можно сформировать список всех сотрудников за прошлый месяц,но не добавленных ещё в следующий месяц
подскажите как можно сформировать список всех сотрудников за прошлый месяц,но не добавленных ещё в следующий месяц. так манипулирование с...

Просмотр начислений в БД за прошлый месяц
Имеется БД подключенная к vb. Подскажите как сделать что бы когда человек в прошлом месяце оплатил не полную стоимость услуг то остаток с...

12
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
02.04.2018, 12:33
Лучший ответ Сообщение было отмечено 19boom96 как решение

Решение

T-SQL
1
2
WHERE DATE2>=DATEADD(MONTH,DATEDIFF(MONTH,0,CURRENT_TIMESTAMP)-1,0)
  AND DATE2< DATEADD(MONTH,DATEDIFF(MONTH,0,CURRENT_TIMESTAMP)  ,0)
2
4 / 4 / 3
Регистрация: 03.02.2017
Сообщений: 27
02.04.2018, 13:13
Или так:
T-SQL
1
Where Date2>=GETDATE()-30
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
02.04.2018, 13:20
Цитата Сообщение от Prorok_75 Посмотреть сообщение
Или так:
T-SQL
1
Where Date2>=GETDATE()-30
Почему 30? И что делать со временем?
0
4 / 4 / 3
Регистрация: 03.02.2017
Сообщений: 27
02.04.2018, 13:30
Я уже после ответа прикинул, что значения у вопроса 2.
И попытался поправить своё сообщение, добавив в него ответ и на второй вопрос.

Но вот ваш вопрос про время совсем не понял.
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
02.04.2018, 13:45
Цитата Сообщение от Prorok_75 Посмотреть сообщение
Я уже после ответа прикинул, что значения у вопроса 2.
И попытался поправить своё сообщение, добавив в него ответ и на второй вопрос.

Но вот ваш вопрос про время совсем не понял.
GETDATE() даёт дату со временем. Если от неё отнять 30 дней, то получится некая дата с этим же временем.
Это уже не даёт все записи за начальную дату.
Не говоря уже о том, что разные месяцы имеют разную продолжительность.
Да и, отнимая 30 дней, вы исключаете первые дни календарного месяца...

Всё-таки, слова "за прошлый месяц" можно трактовать однозначно.
А именно: "за прошлый календарный месяц".
0
4 / 4 / 3
Регистрация: 03.02.2017
Сообщений: 27
02.04.2018, 17:35
Цитата Сообщение от iap Посмотреть сообщение
Всё-таки, слова "за прошлый месяц" можно трактовать однозначно.
А именно: "за прошлый календарный месяц".
У меня на работе, например, всё считают по дням. Например товар со сроком годности более 30дней продавать нельзя.
30 дней нужно считать от сегодняшнего дня, а не от первого числа этого месяца.
По этому сперва посчитал , что требуется вывести информацию за месяц с 2-го апреля, например.
0
 Аватар для 19boom96
1 / 1 / 3
Регистрация: 27.11.2014
Сообщений: 263
03.04.2018, 15:00  [ТС]
iap, всё это хорошо, но может подскажешь как за текущей месяц и прошлую неделю вывести?
ну или хотя бы примеры
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
03.04.2018, 15:12
Цитата Сообщение от 19boom96 Посмотреть сообщение
iap, всё это хорошо, но может подскажешь как за текущей месяц и прошлую неделю вывести?
ну или хотя бы примеры
T-SQL
1
2
WHERE DATE2>=DATEADD(MONTH,DATEDIFF(MONTH,0,CURRENT_TIMESTAMP)  ,0)
  AND DATE2< DATEADD(MONTH,DATEDIFF(MONTH,0,CURRENT_TIMESTAMP)+1,0)
T-SQL
1
2
WHERE DATE2>=DATEADD(WEEK,DATEDIFF(WEEK,0,CURRENT_TIMESTAMP)-1,0)
  AND DATE2< DATEADD(WEEK,DATEDIFF(WEEK,0,CURRENT_TIMESTAMP)  ,0)
1
 Аватар для 19boom96
1 / 1 / 3
Регистрация: 27.11.2014
Сообщений: 263
03.04.2018, 16:10  [ТС]
Цитата Сообщение от iap Посмотреть сообщение
WHERE DATE2>=DATEADD(WEEK,DATEDIFF(WEEK,0,CURR ENT_TIMESTAMP)-1,0)
* AND DATE2< DATEADD(WEEK,DATEDIFF(WEEK,0,CURRENT_TIM ESTAMP) *,0)
Так неделя считается от сегоднящнего дня?
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
03.04.2018, 18:43
Цитата Сообщение от 19boom96 Посмотреть сообщение
Так неделя считается от сегоднящнего дня?
Поскольку 1 января 1900 года - понедельник, то с понедельника.
Можно же просто проверить...
0
 Аватар для 19boom96
1 / 1 / 3
Регистрация: 27.11.2014
Сообщений: 263
03.04.2018, 20:54  [ТС]
Цитата Сообщение от iap Посмотреть сообщение
Поскольку 1 января 1900 года - понедельник, то с понедельника.
Можно же просто проверить...
Наверно не правильно меня поняли. Хотелось получать результат по датам за последнюю неделю от сегодняшнего дня
т.е. выбрать записи которые были сделаны в течении "ДЕНЬ -6"

Если исходить из вашего примера, то получается что надо записать так
SQL
1
2
WHERE DATE2>=DATEADD(DAY,DATEDIFF(DAY,0,CURRENT_TIMESTAMP)-6,0)
  AND DATE2< DATEADD(DAY,DATEDIFF(DAY,0,CURRENT_TIMESTAMP)  ,0)
?
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
04.04.2018, 10:51
Цитата Сообщение от 19boom96 Посмотреть сообщение
прошлую неделю вывести
Цитата Сообщение от 19boom96 Посмотреть сообщение
по датам за последнюю неделю от сегодняшнего дня
T-SQL
1
2
WHERE DATE2>=DATEADD(DAY,-7,CAST(CURRENT_TIMESTAMP AS DATE))
  AND DATE2<CAST(CURRENT_TIMESTAMP AS DATE)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2018, 10:51
Помогаю со студенческими работами здесь

как выбрать данные за прошлый месяц из БД
Хочу расчитать динамику цен, для этого нужны цены за прошедший месяц. Отсюда вопрос - как выташить данные по определенному времни....

Скрипт архивирования файлов за прошлый месяц
Пишу скрипт для архивирования файлов с датой прошлого месяца, архив должен помещаться в отдельную директорию, а архивированные файлы...

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

Элемент GridView, выборка данных из таблицы за указанный месяц
Здравствуйте. 1. Допустим у меня есть элемент GridView (ASP.NET). 2. У меня есть таблица бд с полем code_date типа datetime. Как...

Вывести статистику за прошлый месяц: сколько покупок по каждой категории и средняя цена покупки
Здравствуйте. Помогите составить запрос) Нужно вывести статистику за прошлый месяц: сколько покупок по каждой категории и средняя цена...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru