sql >> Database teknologi >  >> RDS >> Mysql

VÆLG alle poster, der er 30 dage gamle

Hvis datatypen updatestatus er date :

SELECT * 
FROM people 
WHERE updatestatus <= '2012-01-01'

eller:

SELECT * 
FROM people 
WHERE updatestatus <= CURRENT_DATE() - INTERVAL 1 MONTH

Hvis datatypen er datetime eller timestamp og du vil også tjekke tidsdelen:

SELECT * 
FROM people 
WHERE updatestatus <= NOW() - INTERVAL 1 MONTH

Du kan angive en nøjagtig dato og klokkeslæt i stedet for NOW() - INTERVAL 1 MONTH . Den korrekte måde afhænger af, hvordan du gemmer dato og klokkeslæt eller tidsstempler (opretter Perl-koden eller MySQL dem i første omgang?).

Du kan også indsætte - INTERVAL 30 DAY som giver lidt anderledes resultater.



  1. Kan nogen anbefale en god tutorial om MySQL-indekser, specifikt når de bruges i en ordre efter klausul under en joinforbindelse?

  2. hvordan man bruger DISTINCT ON med mysql ved hjælp af ActiveRecord

  3. Sådan hentes to Json-svar Json Object og Array

  4. 4 tips til at køre SQL Server Diagnostics