繁体   English   中英

对 VARCHAR 应用日期过滤器 | SQL

[英]Apply date filter on VARCHAR | SQL

我对现有数据库有疑问。

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

列结构如下

`Date` varchar(10) DEFAULT NULL

日期格式(字符串)就像 --> '10/22/2020'

我试过的查询如下,但没有用。

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

如果有人能告诉我一种可以在字符串上应用日期过滤器的方法,我将不胜感激。

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

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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM