есть простой селект
SELECT id,number,DATE_FORMAT(dates,'%d.%m.%Y') as dates FROM waybill
WHERE dates BETWEEN DATE('2010-10-01') AND DATE('2010-10-10') order by number
в базе есть инфа с 1 по 10 число включительно, но в выборку 10 чило не попадает..., так и должно быть, или у меня чет не то с настройками...
Спустя 16 минут, 47 секунд (2.11.2010 - 16:27) aH6y написал(а):
gudzik
Условие между. Думаю следует исправить:
Условие между. Думаю следует исправить:
SELECT id, number, DATE_FORMAT(dates,'%d.%m.%Y') as dates FROM `waybill` WHERE dates BETWEEN DATE('2010-10-01') AND DATE('2010-10-11') ORDER BY number
Спустя 24 минуты, 27 секунд (2.11.2010 - 16:51) gudzik написал(а):
ну если ручками проставлять дату то конечно можно а если переменными то здесь уже начинаются танцы,
например, если в импут ввожу дату выборки и дата параметром передается в sql то здесь как быть?
я вышел из проблемы добавлением 1 к дате, но тепер не знаю не вылезет ли оно мне когда-нибудь боком...
например, если в импут ввожу дату выборки и дата параметром передается в sql то здесь как быть?
я вышел из проблемы добавлением 1 к дате, но тепер не знаю не вылезет ли оно мне когда-нибудь боком...
Спустя 14 минут, 40 секунд (2.11.2010 - 17:06) sergeiss написал(а):
aH6y - условие "между" подразумевает включение указанных границ в поиск! Ты бы сначала хэлп прочитал бы, что ли, прежде чем советы давать такие...
Вопрос ТС: почему
а не
Вопрос ТС: почему
WHERE dates BETWEEN DATE('2010-10-01') AND DATE('2010-10-10')
а не
WHERE dates BETWEEN '2010-10-01' AND '2010-10-10'
Спустя 8 минут, 9 секунд (2.11.2010 - 17:14) gudzik написал(а):
WHERE dates BETWEEN '2010-10-01' AND '2010-10-10'
результат не изменился
Спустя 7 минут, 39 секунд (2.11.2010 - 17:21) Adil написал(а):
дело скорее во времени. Попробуй так:
WHERE dates BETWEEN '2010-10-01' AND '2010-10-10 23:59:00'
Спустя 1 минута, 9 секунд (2.11.2010 - 17:23) gudzik написал(а):
решение найдено
все дело в том что формат даты в бызе "2010-10-01 09:37:34" и когда брать только "2010-10-01" то время сбрасывается в ноль а это наверное значит что этот день еще не наступил... но это только мои догадки и может это и не совсем правильно
WHERE TO_DAYS(dates) BETWEEN TO_DAYS('2010-11-01') AND TO_DAYS('2010-11-02') ORDER BY number
все дело в том что формат даты в бызе "2010-10-01 09:37:34" и когда брать только "2010-10-01" то время сбрасывается в ноль а это наверное значит что этот день еще не наступил... но это только мои догадки и может это и не совсем правильно