I have a database where data_fine
is defined as TEXT
and contains values such as "25-05-2021
". I need to find all the records between the current date up to 8 days.
I tried the following query, but nothing is displayed.
SELECT * from tabella_raw where data_fine > DATE(NOW) and data_fine < DATE(NOW() + INTERVAL 8 DAYS)
What is the best and safe way to compare the date stored as TEXT
with the current date?
3
Answers
Try use STR_TO_DATE function
You have to convert dates which cost a lot of processor time, so you should avoid that and save all in MySQL date yyyy-MM-dd hh:mm:ss
Also you can use CURDATE() to get the the current date
Last the parameter fo INTERVAL IS
DAY
not DAYSYou are trying to use a text field as a date, so you need to convert the text to a date to use date functions.