Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / DATE_FORMAT BETWEEN помощь / 8 сообщений из 8, страница 1 из 1
02.12.2013, 13:31:46
    #38485911
Kapustin777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DATE_FORMAT BETWEEN помощь
Подскажите почем не работает такой запрос?

SELECT *
FROM `zayavka`
WHERE (
DATE_FORMAT( DATE, '%d.%m.%Y' )
BETWEEN '25.11.2013'
AND '02.12.2013'
)

хотя такой запрос работает
SELECT *
FROM `zayavka`
WHERE (
DATE_FORMAT( DATE, '%Y.%m.%d' )
BETWEEN '2013.11.25'
AND '2013.12.02'
)
...
Рейтинг: 0 / 0
02.12.2013, 13:37:12
    #38485928
Kapustin777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DATE_FORMAT BETWEEN помощь
Причем не работает данный запрос при переходе с одного месяца на другой. Если выполнять данный запрос с датами в одном месяце, то значения выводятся нормально
...
Рейтинг: 0 / 0
02.12.2013, 13:47:40
    #38485942
DATE_FORMAT BETWEEN помощь
попробуй не поле с датой в строку переделывать, а параметры свои из строк в даты сконвертировать...
...
Рейтинг: 0 / 0
02.12.2013, 13:48:24
    #38485945
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DATE_FORMAT BETWEEN помощь
Kapustin777,

Это выражение

Код: sql
1.
2.
3.
DATE_FORMAT( DATE, '%d.%m.%Y' )
BETWEEN '25.11.2013'
AND '02.12.2013'



сравнивает строки, а не даты.

Код: plaintext
DATE_FORMAT() returns a string with a character set and collation given by character_set_connection and 

У строк немного другой порядок следования :-)

Перепишите запрос

Код: sql
1.
DATE BETWEEN STR_TO_DATE('25.11.2013','%d.%m.%Y') AND STR_TO_DATE('02.12.2013','%d.%m.%Y') 
...
Рейтинг: 0 / 0
02.12.2013, 13:51:28
    #38485952
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DATE_FORMAT BETWEEN помощь
MasterZivПерепишите запрос

Код: sql
1.
DATE BETWEEN STR_TO_DATE('25.11.2013','%d.%m.%Y') AND STR_TO_DATE('02.12.2013','%d.%m.%Y') 


К слову - такая форма отбора позволит серверу использовать индекс.
...
Рейтинг: 0 / 0
02.12.2013, 14:13:00
    #38485981
Kapustin777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DATE_FORMAT BETWEEN помощь
SELECT * FROM `zayavka` WHERE (DATE_FORMAT(`DATE`, '%d.%m.%Y') between STR_TO_DATE('25.11.2013' , '%d.%m.%Y') and STR_TO_DATE('27.11.2013' , '%d.%m.%Y'))
не работает
MySQL вернула пустой результат
...
Рейтинг: 0 / 0
02.12.2013, 14:15:04
    #38485983
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DATE_FORMAT BETWEEN помощь
А это потому, что не читаешь, что тебе люди умные пишут. И не выполняешь их рекомендации ТОЧНО.
...
Рейтинг: 0 / 0
02.12.2013, 14:20:45
    #38485991
Kapustin777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DATE_FORMAT BETWEEN помощь
пробовал и просто без формата...
не получилось
а теперь переписал, сработало, наверное где- то, что-то не дописал, сори
спасибо за помощь
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / DATE_FORMAT BETWEEN помощь / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]