Você precisa aplicar
DATE_FORMAT
no SELECT
cláusula, não a WHERE
cláusula:SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
Observe também que
CURDATE()
retorna apenas a DATE
parte da data, portanto, se você armazenar create_date
como DATETIME
com o tempo preenchido, esta consulta não selecionará os registros de hoje. Nesse caso, você precisará usar
NOW
em vez de:SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()