сравнить строку с датой на MySQL - PullRequest
1 голос
/ 03 июня 2010

В стандарте MySQL 4.0.21 у меня есть таблица с датой, сохраненная в виде строки.

Я хочу сравнить эту строку с датой в моем запросе.

SELECT FE_CLIENT.*
FROM FE_CLIENT
WHERE D_DATFINPUBLI < '2010/06/03'

Как я могу привести свой столбец date_deb к дате для сравнения?

Ответы [ 2 ]

5 голосов
/ 03 июня 2010

Предполагается, что MySQL (если нет, повторно задайте свой вопрос)

Используйте функцию MySQL STR_TO_DATE , чтобы установить для '2010/06/03' значение DATETIME.

SELECT FE_CLIENT.*
FROM FE_CLIENT
WHERE D_DATFINPUBLI < STR_TO_DATE('2010/06/03','%Y/%m,%d');

Сделайте то же самое для D_DATFINPUBLI, если это еще не формат DATETIME.

EDIT:

SELECT STR_TO_DATE( D_DATFINPUBLI, '%d/%m/%Y %h:%i' ) DD, FE_CLIENT . * 
FROM FE_CLIENT
WHERE STR_TO_DATE( D_DATFINPUBLI, '%d/%m/%Y %h:%i' ) < STR_TO_DATE( '04/06/2010', '%d/%m/%Y' ) 
AND D_CDSTATUPUBLI <> 'EXP'
ORDER BY D_NIDPUBLI
1 голос
/ 03 июня 2010

Просто отформатируйте строку в правильном формате перед выполнением запроса

или, если вы хотите строго с mysql,

WHERE D_DATFINPUBLI < replace('2010/06/03','/','-')

РЕДАКТИРОВАТЬ:

Поле D_DATFINPUBLI должно иметь тип date и иметь формат 2010-06-03

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