У меня очень странное поведение из запроса MySQL в моем приложении C#, которое извлекает строки из таблицы с именем project_info. Он должен получить все строки, которые равны имени клиента, а дата начала проекта - МЕЖДУ диапазоном ДАТ в запросе. Текущий запрос, который я использую, работает, но диапазон дат ведет себя очень странно ...
Например, если у меня есть строка в моей таблице, которая содержит проект для клиента WHSmith, и у них есть проект с датой начала 30/07/2018, когда я выполняю поиск с диапазоном дат МЕЖДУ 18.06.2018 И 08.01.2018 запрос не возвращает результатов, но если я повторяю запрос, используя диапазон дат МЕЖДУ 18.06.2018 И 02.08.2018, возвращается строка ???
В настоящее время у меня есть такой запрос:
SELECT * FROM project_info WHERE cust_name = "WHSmith" AND proj_date BETWEEN 2018-06-18 AND 2018-08-01;
Дата хранится как поле DATE в таблице, поэтому время не включается в запрос или значение ... cust_name и даты хранятся в переменных в моем приложении, но я проверил, что они верны и кажутся нормальными. Кто-нибудь знает, почему запрос BETWEEN ведет себя так странно? или, может быть, предложить лучший способ искать строки в диапазоне DATE ... большое спасибо.
Можете попробовать использовать цитаты для даты? ВЫБЕРИТЕ * FROM project_info WHERE cust_name = "WHSmith" И proj_date МЕЖДУ '2018-06-18' И '2018-08-01';
Было бы чрезвычайно полезно увидеть ваш код и схему для запрашиваемой таблицы. Если вы создаете этот запрос с помощью Oracle Connector / NET, вы можете столкнуться с этой ошибкой (или ее вариантом): bugs.mysql.com/bug.php?id=80011, и в этом случае вы можете рассмотреть возможность перехода на альтернативную библиотеку ADO.NET: github.com/mysql-net/MySqlConnector
Спасибо за ваши комментарии, ребята ... Я обнаружил, что мой конструктор для запроса немного неправильно форматировал даты ... Все еще не уверен, как он работал в большем диапазоне дат, но после правильного форматирования переменных он вел себя как ожидал. Извините за отсутствие кода, но я извлекаю переменные из своего приложения, которые были бы бессмысленны для вас для просмотра здесь .... большое спасибо.





Покажи свой код. В отображаемом вами запросе нет кавычек вокруг даты.