2013-03-08 2 views
0

хранить дату в моей базе данных в виде строки, как это:Возврат всех строк, которые в тот же день в MySQL

03/08/2013 -> 8 марта

Я пытаюсь выбрать только те строки, которые в тот же день на текущий день:

SELECT * FROM wp_aerezona_booking WHERE DATE_SUB(CURDATE(),INTERVAL 1 
             DAY) <= STR_TO_DATE(date, '%m/%d/%Y') 

выше я пытался, но она возвращается много результатов и должен возвращать только 1.

ответ

1

Тогда вы не хочу <=, но вы хотите =. Первые будут получать все результаты, если date меньше или равно вчерашней дате. Я не уверен, что вы даже хотите получить DATE_SUB.

1

Это должно работать уже:

SELECT * FROM wp_aerezona_booking 
WHERE STR_TO_DATE('03/08/2013', '%m/%d/%Y') = CURDATE(); 

С помощью DATE_SUB вы subtracting1 день от текущего дня. Ты не смотришь сегодня, а вчера. Также <= заставляет вас смотреть вчера и за все дни до этого.

0

Если вы хотите иметь ту же дату, что и сегодняшняя дата, вам необходимо использовать оператор «=».

SELECT * 
FROM wp_aerezona_booking 
WHERE STR_TO_DATE(date, '%m/%d/%Y')= CURDATE() 
Смежные вопросы