Как использовать MYSQL для дат в формате MM / dd / yy - PullRequest
1 голос
/ 04 ноября 2011

У меня есть база данных, полная дат в формате: MM / dd / yy. Например, сегодняшняя дата (4 ноября 2011 г.) сохраняется в базе данных как: 11/04/11. У меня проблемы с диапазонами дат, поскольку мои даты не отформатированы как гггг / мм / дд (пример: 2011/11/04). У меня нет способа изменить способ заполнения базы данных, поэтому мне нужно учитывать различия в форматировании даты в моих запросах MYSQL (через VB.NET). Вот мой запрос (он не работает, потому что даты в неправильном формате):

SELECT CMP_DATE FROM my_data WHERE OBJ_DATE >= '1994/01/01' AND CMP_DATE <= '2011/11/04' 

Есть ли возможность переформатировать даты в запросе? Спасибо.

1 Ответ

0 голосов
/ 04 ноября 2011

Нужная вам функция: STR_TO_DATE:

SELECT CMP_DATE
FROM my_data
WHERE STR_TO_DATE(OBJ_DATE, '%d/%m/%y') >= '1994-01-01'
AND STR_TO_DATE(CMP_DATE, '%d/%m/%y') <= '2011-11-04'

@ Piskvor тоже имеет смысл, вам следует рассмотреть возможность интерпретации двухзначного числагод, вместо того чтобы позволить mysql выполнить произвольное преобразование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...