powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Почему не работает простой запрос?
6 сообщений из 6, страница 1 из 1
Почему не работает простой запрос?
    #39445913
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример запроса.
Этот запрос отрабатывает.

Код: sql
1.
2.
3.
SELECT * FROM 'mybase.dbf'
WHERE (BANKCACC <> '0')
AND (ORDERDATE = '07.04.2017')



А вот эти, не хотят ни в какую, данные в таблице есть. Тип поля "Дата".

Код: sql
1.
2.
3.
SELECT * FROM 'mybase.dbf'
WHERE (BANKCACC <> '0')
AND (ORDERDATE > '07.04.2017')



Код: sql
1.
2.
3.
SELECT * FROM 'mybase.dbf'
WHERE (BANKCACC <> '0')
AND (ORDERDATE < '07.04.2017')



Либо не выводится вообще ничего, либо неверные данные. Скажем, если брать условие ORDERDATE < '07.04.2017'. То почему-то в выводе отображаются и данные за дд.03.2017... Почему?
...
Рейтинг: 0 / 0
Почему не работает простой запрос?
    #39445916
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел выделить bb-кодом, а получилась фигня. В запросе все нормально, без тегов.
...
Рейтинг: 0 / 0
Почему не работает простой запрос?
    #39445922
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А поле ORDERDATE - текстовое. Ну так сравнение и выполняется как сравнение СТРОК. А Вам, поди, надо их сравнивать как даты? ну так MySQL понимает только один формат даты - YYYY-MM-DD, всё остальное для него ни разу не дата.

Надавайте по шее "архитектору", измените тип поля, а потом уже сравнивайте, к тому же правильно задавая литералы.

В качестве временного решения можете переформатировать поле во вменяемый (или во всяком случае пригодный для сравнения) формат непосредственно в запросе.
...
Рейтинг: 0 / 0
Почему не работает простой запрос?
    #39445947
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, "переформатировать поле во вменяемый (или во всяком случае пригодный для сравнения) формат непосредственно в запросе. "

Можно подробнее? Т.е. Представить текстовое поле в качестве даты?
...
Рейтинг: 0 / 0
Почему не работает простой запрос?
    #39445954
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий666Представить текстовое поле в качестве даты?Да. Преобразовать значение в такой формат, чтобы MySQL мог воспринимать его как дату. Например, это может быть так:
Код: sql
1.
CONCAT(RIGHT(ORDERDATE,4),'-',SUBSTR(ORDERDATE,4,2),'-',LEFT(ORDERDATE,2))
...
Рейтинг: 0 / 0
Почему не работает простой запрос?
    #39446346
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Почему не работает простой запрос?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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