С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/193: Рейтинг темы: голосов - 193, средняя оценка - 4.55
 Аватар для 19boom96
1 / 1 / 3
Регистрация: 27.11.2014
Сообщений: 263

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

02.04.2018, 12:16. Показов 39480. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru