@a1357436

Как найти запись в бд по времени?

Добрый день. У меня есть таблица со столбиком date и две(и более) записи. У первой date = 22.12.2018 у второй date = 24.12.2018. Мне нужно сделать так, чтобы пользователь мог ввести 23.12.2018 и ему выводилась бы первая запись, а при вводе 25.12.2018 выводилась бы вторая
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 2
Steein
@Steein
Программист
НИКОГДА не используйте подобный селектор DATE(datecolumns) = '2018-12-24' это убийца производительности:

  • будет рассчитываться DATE()для всех строк, включая те, которые не совпадают
  • это сделает невозможным использование индекса для запроса


Это гораздо быстрее использовать
SELECT * FROM tablename 
WHERE columname BETWEEN '2018-12-25 00:00:00' AND '2018-12-25 23:59:59'


Пример 2

SELECT * FROM tablename 
WHERE columname >='2018-12-25 00:00:00'
AND columname <'2018-12-26 00:00:00'
Ответ написан
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
where date < :value
order by date desc
limit 1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы