Трябва да приложите DATE_FORMAT
в SELECT
клауза, а не WHERE
клауза:
SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
Също така имайте предвид, че CURDATE()
връща само DATE
част от датата, така че ако съхранявате create_date
като DATETIME
с попълнена част от времето, тази заявка няма да избере днешните записи.
В този случай ще трябва да използвате NOW
вместо това:
SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()