对VARCHAR|SQL应用日期筛选器



我的现有数据库有问题。

我有一个DB结构;日期栏";在VARCHAR(10(中,我想对此应用日期过滤器,但由于日期保存为字符串,因此无法正常工作。由于一些系统限制,我无法更改数据库的结构或其中的日期格式,它必须保持原样。

色谱柱结构如下

`Date` varchar(10) DEFAULT NULL

日期格式(字符串(类似于-->'2020年10月22日

我尝试过的查询在下面,但没有成功。

SELECT *
FROM `documents2` WHERE  documents2.Date >= '11/15/2019' AND documents2.Date <= '11/15/2021'

如果有人能告诉我一种在字符串上应用日期过滤器的方法,我将非常感谢你。

您必须使用str_to_date函数。以这样的方式:

SELECT *
FROM `documents2` WHERE  STR_TO_DATE(documents2.Date,'%m/%d/%Y') >= STR_TO_DATE('11/15/2019','%m/%d/%Y') AND STR_TO_DATE(documents2.Date,'%m/%d/%Y') <= STR_TO_DATE('11/15/2021','%m/%d/%Y')

最新更新