59 / 59 / 7
Регистрация: 07.12.2009
Сообщений: 324
1

Выборка даных по Дате ?

26.04.2011, 00:05. Показов 11262. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вопрос такой как построить sql запрос если у меня есть в Таблице столбик тип - Дата я хочу чтоб вывело строки где дата от текущей +5 дней, то есть если сегодня 25 число до 30 числа . Не как не могу добиться нужного результата с учётом месяца пример сегодня 28.04 до 3.05 (
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2011, 00:05
Ответы с готовыми решениями:

Выборка по дате
Есть таблица ( код(pk), количество, цена , дата). Зделал так штоб выводилась таблица сума продаж...

Выборка по дате
есть таблица после выборки в sql(informix) должны остаться только те поля у которых дата...

Выборка по дате
Всем привет! Нужна выборка по сегодняшней и вчерашней дате. как? То есть если писать по смыслу...

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

11
128 / 128 / 8
Регистрация: 24.11.2010
Сообщений: 237
26.04.2011, 06:00 2
у тебя какая база?
0
60 / 60 / 11
Регистрация: 30.06.2010
Сообщений: 260
26.04.2011, 06:50 3
Если из кода программы будешь передавать дату параметром, то сделай так:
C#
1
2
3
DateTime dt1, dt2;
dt1 = Convert.ToDateTime("28.04.2011");
dt2 = dt1.AddDays(5); // Вернет 03.05.2011
0
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
26.04.2011, 12:17 4
К базе mysql я делаю примерно так -

C#
1
2
DateTime date2010 = new DateTime(2010, 12, 31, 0, 0, 0);
dataFromFilter = "data_obn >= '" + date2010 + "'";
или так
C#
1
dataFromFilter = "data_obn >= '" + dateTimePicker1.Value.Date + "'";
А вот если к firebird сейчас сам ищу ответ? Может кто подскажет как заводить константу или
как выделить год из даты чтобы сформировать фильтр c выражением типа

C#
1
 WHERE DT >= Year2010
где константа year2010 типа datetime указывает на начало года или конкретную переменную или константу типа datetime?

Добавлено через 16 минут
Константа datetime вроде та же годится. А как взять год от поля этого типа в firebird, чтобы использовать в запросе выражение типа
C#
1
DT.year>2010
?
0
59 / 59 / 7
Регистрация: 07.12.2009
Сообщений: 324
26.04.2011, 13:39  [ТС] 5
Цитата Сообщение от galexser Посмотреть сообщение
у тебя какая база?
База sql server local

Цитата Сообщение от Wild Wolf Посмотреть сообщение
Если из кода программы будешь передавать дату параметром, то сделай так:
C#
1
2
3
DateTime dt1, dt2;
dt1 = Convert.ToDateTime("28.04.2011");
dt2 = dt1.AddDays(5); // Вернет 03.05.2011
Вариант подходит но мне надо чтоб выводило дату без времени можно это по культурному сделать . Есть конечно вариант забить в строку и выводить только первых там 11 символов но может все проще можно сделать ?
И если можно напомните пожалуйста как текущую дату узнать ?
0
60 / 60 / 11
Регистрация: 30.06.2010
Сообщений: 260
26.04.2011, 13:56 6
Конечно можно.
C#
1
dt1.AddDays(5).Date;// - Правда, вернет 03.05.2011 0:00:00, так как тип DateTime
В стринговом типе можно отдельно дату выбрать:
C#
1
 string s = dt1.AddDays(5).ToShortDateString();
Текущая дата:
C#
1
DateTime.Now();
1
59 / 59 / 7
Регистрация: 07.12.2009
Сообщений: 324
26.04.2011, 17:29  [ТС] 7
спасиба Wild Wolf.

Но если кто знает интересно как это в Процедуре БД будет выглядеть ?

Select FROM Table1 WHERE Colum Date ">" текущей дате "<=" заданой дате
Так я вижу это в плане а реализация не знаю как ((
0
60 / 60 / 11
Регистрация: 30.06.2010
Сообщений: 260
27.04.2011, 06:10 8
Select FROM Table1 WHERE Colum_Date BETWEEN 'текущая_дата' AND 'заданная_дата'
0
59 / 59 / 7
Регистрация: 07.12.2009
Сообщений: 324
30.04.2011, 23:30  [ТС] 9
Цитата Сообщение от Wild Wolf Посмотреть сообщение
Select FROM Table1 WHERE Colum_Date BETWEEN 'текущая_дата' AND 'заданная_дата'
По логике код правильный но у меня выдаёт ошибку сделал View чтоб проверить :
SQL
1
2
3
SELECT     id, Фамилия, Имя, [Дата рождения], Адрес, Група
FROM         dbo.Table1
WHERE     ([Дата рождения] BETWEEN '29.04.11' AND '05.05.11')
[Дата рождения] - тип date

На скрине ошибка :
Миниатюры
Выборка даных по Дате ?  
0
128 / 128 / 8
Регистрация: 24.11.2010
Сообщений: 237
01.05.2011, 06:13 10
Цитата Сообщение от Midnayt Посмотреть сообщение
'05.05.11'
надо конвертировать в формат даты, в нем обычно еще и время используется
0
59 / 59 / 7
Регистрация: 07.12.2009
Сообщений: 324
01.05.2011, 12:15  [ТС] 11
Всё заработало кому интересно код выглядит так :

C#
1
2
3
4
5
6
dt1 = DateTime.Now;
dt2 = dt1.AddDays(5);
dt1.ToShortDateString();
dt2.ToShortDateString();
string Strsql = "Select Table1.* FROM Table1 WHERE [Дата рождения] BETWEEN ' " + dt1 + " ' 
AND ' " + dt2 + " '";
0
59 / 59 / 7
Регистрация: 07.12.2009
Сообщений: 324
07.05.2011, 16:45  [ТС] 12
Появилась новая непонятная ошибка добавил новую таблицу : сделал запрос чтоб выдавало записи по текущей дате но тут я очень удивился у меня в БД храниться записи с 3 по 10 мая 2011г но после ручного теста понял что запрос выдаёт записи только если я ввожу 5.05.11 при вводе других дат не выдаёт нечего будто в БД их нету код ниже:

C#
1
2
3
dt1 = DateTime.Now;
dt1.ToShortDateString();
string Strsql = "Select * FROM Table3 WHERE [Дата исполнения] = '" + dt1 +"'";
0
07.05.2011, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2011, 16:45
Помогаю со студенческими работами здесь

С# SQL выборка по дате
В таблице Shorts колонка MeasureDate имеет тип datetime Пишу запрос DateTime curr =...

Выборка по дате из TextBox
Подскажите, как заменить cmd.CommandText = &quot;SELECT * FROM obl WHERE DATE(Термін_придатності) &gt;=...

Выборка из timestamp по дате или по времени
Всем привет, подскажите как сделать запрос по полю timestamp, дата хранится в виде 2016-05-07...

Выборка данных по дате DevExpress xtraGrid
Всем привет. Подскажите, пожалуйста, как поменять формат выборки на dd.MM.yyyy. Нужные мне данные...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru