2016-03-01 5 views
1

у меня есть данные, как «ДДММГГГГ», как этот формат в моем datebase и тип данных также VARCHAR (8) Теперь мне нужно сравнить дату, используя между запросомVARCHAR к DateTime в MySQL сравнить

мои данные таблицы

| id | enquiry_date | dept_name | 
|----------------------------------------| 
| 1 | 02112004  |  LAB  | 
| 2 | 31122005  | RESEARCH | 
| 3 | 26052005  |  LAB  | 
| 4 | 16042006  | RESEARCH | 

Теперь мне нужно взять записи с 05-02-2005 по 12-11-2006, как это. вот его varchar, как его сравнить, пожалуйста, помогите мне заблаговременно.

+3

Исправьте таблицу, введите вместо даты использования данных! – jarlh

+0

Если вы действительно хотите остановиться на типе варчара, посмотрите здесь: http://dev.mysql.com/doc/refman/5.1/ru/date-and-time-functions.html#function_str-to-date –

+0

На самом деле я получил данные из веб-сервисов там, где они будут вставлены в этот формат. Мне нужно взять сюда записи здесь –

ответ

3

Вы можете попробовать использовать STR_TO_DATE

STR_TO_DATE(enquiry_date,'%d%m%Y') 

Таким образом, вы можете сравнить, как

where date_format(STR_TO_DATE(enquiry_date,'%d%m%Y'), '%d-%m-%Y') > '05-02-2005' 
and date_format(STR_TO_DATE(enquiry_date,'%d%m%Y'), '%d-%m-%Y') < '12-11-2006' 
+0

No Boss здесь я получил только нулевые значения, только он не сработал –

+0

@NandhiniKarnan: - Обновлен мой ответ. пожалуйста, проверьте –

Смежные вопросы