Mysql 当'时,Geeting问题获取数据;日期';字段数据类型是数据库表中的文本

Mysql 当'时,Geeting问题获取数据;日期';字段数据类型是数据库表中的文本,mysql,sql,Mysql,Sql,我想获取两个范围之间的数据,但在我的数据库日期字段中为文本。现在如何在两个范围之间获取数据 $startdate = 01-01-2020 $enddate = 31-12-2020 下面我使用的查询是我的数据库字段名DATE as text datatype(格式01-12-2019) SELECT * FROM F_RI_DETAILS where COST_CENTER = 152 AND (DATE BETWEEN

我想获取两个范围之间的数据,但在我的数据库日期字段中为文本。现在如何在两个范围之间获取数据

     $startdate = 01-01-2020
     $enddate = 31-12-2020
下面我使用的查询是我的数据库字段名DATE as text datatype(格式01-12-2019)

       SELECT * FROM F_RI_DETAILS 
        where COST_CENTER = 152 
        AND (DATE BETWEEN '01-01-2020' AND '31-12-2020')

        
请帮助如何在数据库中获取文本数据类型为的数据。如何将文本转换为日期并获取所有数据。 现在无法更改数据库中的列类型。 请帮帮我

SELECT * 
FROM f_ri_details 
WHERE cost_center = 152 
  AND (STR_TO_DATE(`date`, '%d-%m-%Y') BETWEEN '2020-01-01' AND '2020-12-31')

甚至

SELECT * 
FROM f_ri_details 
WHERE cost_center = 152 
  AND RIGHT(`date`, 4) = '2020'

显示
F_RI_详细信息的DDL
。在此查看数据函数,尤其是str_to_date不能更改数据库中的列类型。使用正确的表达式添加生成的日期数据类型列。@Akina DDL,ID int(11)主键自动递增日期文本说明费用文本成本中心文本费用货币文本金额报告当前文本转换率文本金额文本编辑问题,请,注释中的DDL不安全。
SELECT * 
FROM f_ri_details 
WHERE cost_center = 152 
  AND RIGHT(`date`, 4) = '2020'