Отказ от ответственности: это необходимо для старой и уродливой кодовой базы, которую я бы предпочел не трогать.
- В базе данных есть таблица, в которой есть столбец (среди многих других) типа
DATE
.
- Существует запрос (автоматически генерируемый по критериям Torque - не спрашивать) с параметром
java.util.Date
; Крутящий момент форматирует его как полное время-дата.
Итак, запрос, который получает MySQL, выглядит примерно так:
SELECT * FROM my_table
WHERE my_date = '20091201105320'; // 2009-12-01 10:53:20
Проблема в том, что на одном сервере, который имеет стандарт MySQL 5.0.27, он работает просто отлично - как и в случае возврата всех записей из my_table
, для которых my_date
установлено в '2009-12-01'. На другом сервере, на котором установлен MySQL 5.0.45, он не работает. Данные есть - если я вручную выполню запрос после обрезки временной части, я получу верные результаты.
Вопрос:
Есть ли где-то настройка, либо в файле конфигурации MySQL, либо в переменных сеанса (строка подключения), либо где-то еще, чтобы заставить MySQL игнорировать часть времени при преобразовании строковой константы в дату?
Я, очевидно, не могу использовать функцию DATE()
без изменения кодовой базы, которую я бы предпочел не делать.