SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 28.04.2011 17:50:33

Garik
Завсегдатай
Зарегистрирован: 26.05.2010
Сообщений: 27

Выборка данных из таблицы во временном интервале

Здравствуйте!
Имеется таблица с полями id, text и date. Дата хранится в формате dd.mm.yyyy.
Допустим там есть такие  записи:

id    text        date
1    Текст1    04.03.2011
2    Текст2    16.03.2011
3    Текст3    02.04.2011
4    Текст4    09.04.2011
5    Текст5    12.04.2011

и есть две переменные: datestart='10.03.2011' и dateend='10.04.2011'.

Собственно вопрос, как мне используя в запросе значения этих двух переменных вытащить нужные мне записи с id 2,3 и 4?

Неактивен

 

#2 28.04.2011 18:17:57

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Выборка данных из таблицы во временном интервале

Интересный формат для хранения даты. Лучше использовать тип date, тогда можно будет нормально сравнивать. Вот так:

CREATE TABLE  t_4190` (
  `id` int(11) NOT NULL auto_increment,
  `text` varchar(255) default NULL,
  `date` date default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into `t_4190`(`text`,`date`) values('Текст1','2011-03-04'),('Текст2','2011-03-16'),('Текст3','2011-04-02'),('Текст4','2011-04-09'),('Текст5','2011-04-13');


Ну и в переменных datestart и dateend лучше, чтобы были значения
'2011-03-10' и '2011-04-10'.

Сам запрос будет выглядеть так:
select * from `t_4190` where `date`>='2011-03-10' and `date`<='2011-04-10'

Ну или так можно, если использовать пользовательские переменные mysql:
set @datestart='2011-03-10',@dateend='2011-04-10'; select * from `t_4190` where `date`>=@datestart and `date`<=@dateend;

Отредактированно deadka (28.04.2011 18:18:28)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 28.04.2011 21:42:23

Garik
Завсегдатай
Зарегистрирован: 26.05.2010
Сообщений: 27

Re: Выборка данных из таблицы во временном интервале

Спасибо большое deadka!

Неактивен

 

#4 06.01.2015 17:37:08

Shinobi
Участник
Зарегистрирован: 06.01.2015
Сообщений: 1

Re: Выборка данных из таблицы во временном интервале

Я нашел статью на тему работы с датами в СУБД MySQL. Там описаны: конвертирование строки в DATE, как получить строку датой прописью, сортировка DATETIME. Описан метод выборки для каждой записи последней даты. В общем, очень познавательно. Ссылка на статью http://myshinobi.ru/rabota-s-datami-v-mysql/

Неактивен

 

#5 06.01.2015 20:34:50

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Выборка данных из таблицы во временном интервале

Shinobi написал:

Я нашел статью на тему работы с датами в СУБД MySQL.

Shinobi, в чем причина того, что о своей статье пишете в третьем лице?

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson