Я работаю с программным обеспечением для путешествий, и мне нужно получить стоимость отеля в определенную дату. Даты проживания в отеле добавляются между тремя месяцами (с 09/01/2015 по 12/31/2015). В моей базе данных есть две даты начала и окончания столбцов, и оба типа varchar. Формат даты - mm/dd/yyyy. Мне нужно получить значение одной даты (11/25/2015). В настоящее время я использую следующий запрос:Получить значение даты от mysql php
SELECT *
FROM tbl_roomtype
where `room_id`='17'
and roomoccupancy='Double'
AND startdate<='11/25/2015'
and enddate >='11/25/2015'
Запрос работает не так. Любой может предложить решение.
Вы не сравниваете даты, вы сравниваете * строка * Это даст вам разные результаты Это то, что происходит, когда вы сохраняете ваши даты как строки.Теперь вам нужно преобразовать их в даты * сначала *, а затем провести сравнение. –
_ «Запрос не работает отлично» _ Что ... Итак, он работает или не работает? в какой-то момент это датирует неправильные даты? – Epodax
Поскольку вы сравниваете строки, вам лучше изменить формат до '2015/11/25', тогда' '2015/10/31' <'2015/11/25'' ** TRUE ** вместо '31/10/201 5 '<'25/11/2015'' ** FALSE ** :-) – Alex