получить данные больше чем равно текущей дате - PullRequest
0 голосов
/ 08 апреля 2019

Я хочу получить все данные с сегодняшней даты (или больше, чем равно сегодняшней дате). Но он показывает всю дату до и после сегодняшней даты. Смотрите ниже изображения: enter image description here

Мой запрос на выборку: SELECT * FROM tbl_reservation_info WHERE ri_id !='' AND status = 'Success' AND ri_arrival_date > '08-Apr-2019'

Ответы [ 3 ]

0 голосов
/ 08 апреля 2019

Обычно дата сохраняется в следующем формате: ГГГГ-ММ-ДД. Возможно, ваш php-myadmin форматирует его таким образом или

, вам следует изменить его с varchar / text на date, иначе сортировка и фильтрация будутсложно.Также ваш код должен использовать этот формат - для отображения вам необходимо преобразовать его.

На скриншоте 12 больше, чем фильтруемый вами 8.

12-Mar-2019> 8 *

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-type-overview.html

https://www.php.net/manual/de/function.date.php

0 голосов
/ 08 апреля 2019

Вы можете просто попробовать CURDATE():

SELECT * 
FROM tbl_reservation_info 
WHERE ri_id !='' AND status = 'Success' AND  ri_arrival_date > CURDATE();

При этом он пропускает сегодняшнюю дату. если вы хотите их добавить >=

Убедитесь, что ri_arrival_date имеет формат date.

0 голосов
/ 08 апреля 2019

Ваши даты не в допустимом формате даты MySQL (столбец предположительно равен VARCHAR или подобный) и сравниваются как строки.Поскольку все ваши даты начинаются с 1, 2 или 3, они все больше (с помощью сравнения строк) строки даты, начинающейся с 0.Вам необходимо преобразовать форматы для правильного сравнения:

SELECT * 
FROM tbl_reservation_info
WHERE ri_id !='' 
  AND status = 'Success' 
  AND STR_TO_DATE(ri_arrival_date, '%d-%b-%Y') > STR_TO_DATE('08-Apr-2019', '%d-%b-%Y')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...