在mysql中的varchar到datetime比较

时间:2016-03-01 13:53:45

标签: mysql sql

我有一个类似于' ddmmyyyy'像我的datebase中的这种格式,它的数据类型也是varchar(8)现在我需要比较查询之间的日期

我的表数据是

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

现在我需要记录05-02-2005至12-11-2006这样的记录。在这里它的varchar如何比较它请提前帮助我。

1 个答案:

答案 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'