SQLinfo.ru - Все о MySQL Highload++ 2017

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

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

Вы не зашли.

#1 08.03.2017 23:40:43

platedz
Активист
Зарегистрирован: 27.03.2012
Сообщений: 223

Как выбрать за сегодня по datetime?

Подскажите пожалуйста.
Пробовал так

SELECT CURDATE(),selector,`start`FROM table WHERE `start`>= CURDATE()


Получаю

2017-03-08   23   2017-03-08 11:21:00
2017-03-08   34   2017-03-10 11:24:00
2017-03-08   93   2017-03-08 11:26:00
2017-03-08   83   2017-03-08 11:26:00
2017-03-08   56   2017-03-08 11:26:00
2017-03-08   78   2017-03-08 20:46:00
2017-03-08   38   2017-03-08 20:46:00

Отредактированно platedz (09.03.2017 00:14:24)

Неактивен

 

#2 09.03.2017 01:06:48

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5269

Re: Как выбрать за сегодня по datetime?

а чем не устраивает текущий результат?
или в базе могут быть значения за следующие дни и их не нужно получать?

Неактивен

 

#3 09.03.2017 01:09:06

platedz
Активист
Зарегистрирован: 27.03.2012
Сообщений: 223

Re: Как выбрать за сегодня по datetime?

да нужно только за один день, а получается 10 число попало

Неактивен

 

#4 09.03.2017 01:21:15

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5269

Re: Как выбрать за сегодня по datetime?

date(`start`)= CURDATE()

но такое решение не будет использовать индексы по `start`
лучше
`start`>='2017-03-08' and `start`<'2017-03-09'

Неактивен

 

#5 09.03.2017 01:29:32

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5269

Re: Как выбрать за сегодня по datetime?

`start` >= CURDATE() and `start` < TIMESTAMPADD(day,1,curdate());

Неактивен

 

#6 09.03.2017 17:18:00

platedz
Активист
Зарегистрирован: 27.03.2012
Сообщений: 223

Re: Как выбрать за сегодня по datetime?

Спасибо огромное. Чтобы я без Вас делал.

Неактивен

 

#7 21.03.2017 13:18:28

platedz
Активист
Зарегистрирован: 27.03.2012
Сообщений: 223

Re: Как выбрать за сегодня по datetime?

Подскажите, пожалуйста. А если нужно не только день, но и время указать.

Неактивен

 

#8 21.03.2017 13:33:48

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5269

Re: Как выбрать за сегодня по datetime?

не очень понятно что имеется в виду, приведите пример на данных

Неактивен

 

#9 21.03.2017 13:44:31

platedz
Активист
Зарегистрирован: 27.03.2012
Сообщений: 223

Re: Как выбрать за сегодня по datetime?

К примеру сегодня есть два новости одна
`start`>='2017-03-21 10:00'
а другая
`start`>='2017-03-21 20:00'

Вот первая уже должна публиковаться, а вторая только в 8 вечера надо отобразить.

Неактивен

 

#10 21.03.2017 13:54:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5269

Re: Как выбрать за сегодня по datetime?

т.е. отобразить новости за текущий день в интервале от 00:00 до текущего времени?
`start`>= CURDATE() and `start`<= now()

Неактивен

 

Board footer

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