Musisz zastosować DATE_FORMAT
w SELECT
klauzula, a nie WHERE
klauzula:
SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
Zauważ też, że CURDATE()
zwraca tylko DATE
część daty, więc jeśli przechowujesz create_date
jako DATETIME
po wypełnieniu części czasu to zapytanie nie wybierze dzisiejszych rekordów.
W takim przypadku musisz użyć NOW
zamiast tego:
SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()