[英]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.