sql >> Databasteknik >  >> RDS >> Mysql

MySQL Query - Registrerar mellan idag och senaste 30 dagarna

Du måste använda DATE_FORMAT i SELECT satsen, inte WHERE klausul:

SELECT  DATE_FORMAT(create_date, '%m/%d/%Y')
FROM    mytable
WHERE   create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()

Observera också att CURDATE() returnerar endast DATE del av datumet, så om du lagrar create_date som en DATETIME med tidsdelen fylld kommer denna fråga inte att välja dagens poster.

I det här fallet måste du använda NOW istället:

SELECT  DATE_FORMAT(create_date, '%m/%d/%Y')
FROM    mytable
WHERE   create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()


  1. Hur man kör mysqladmin flush-hosts på Amazon RDS

  2. Verifiera databasanslutning med pg-promise när du startar en app

  3. Kan inte binda argument vid index 2 eftersom indexet ligger utanför intervallet

  4. Hur man extraherar en delsträng från en sträng i PostgreSQL/MySQL