我有一个数据库,其中data_fine
定义为TEXT
,并包含诸如“25-05-2021
“之类的值。我需要查找当前日期到8天之间的所有记录。
我尝试了以下查询,但没有显示任何内容。
SELECT * from tabella_raw where data_fine > DATE(NOW) and data_fine < DATE(NOW() + INTERVAL 8 DAYS)
将存储为TEXT
的日期与当前日期进行比较的最佳安全方法是什么?
我有一个数据库,其中data_fine
定义为TEXT
,并包含诸如“25-05-2021
“之类的值。我需要查找当前日期到8天之间的所有记录。
我尝试了以下查询,但没有显示任何内容。
SELECT * from tabella_raw where data_fine > DATE(NOW) and data_fine < DATE(NOW() + INTERVAL 8 DAYS)
将存储为TEXT
的日期与当前日期进行比较的最佳安全方法是什么?
3条答案
按热度按时间n53p2ov01#
您必须转换日期,这会占用大量的处理器时间,因此您应该避免这样做,并将所有日期保存在MySQL日期yyyy-MM-dd hh:mm:ss中
您也可以使用CURDATE()来获取当前日期
最后一个参数为INTERVAL IS
DAY
而不是DAYStaor4pac2#
尝试使用STR_TO_DATE函数
x3naxklr3#
您正尝试将文本字段用作日期,因此需要将文本转换为日期才能使用日期函数。