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

MySQL - vælg data fra databasen mellem to datoer

Dit problem er, at den korte version af datoer bruger midnat som standard. Så din forespørgsel er faktisk:

SELECT users.* FROM users 
WHERE created_at >= '2011-12-01 00:00:00' 
AND created_at <= '2011-12-06 00:00:00'

Det er derfor, du ikke kan se rekorden for 10:45.

Skift det til:

SELECT users.* FROM users 
WHERE created_at >= '2011-12-01' 
AND created_at <= '2011-12-07'

Du kan også bruge:

SELECT users.* from users 
WHERE created_at >= '2011-12-01' 
AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)

Hvilket vil vælge alle brugere i det samme interval, du leder efter.

Du kan også finde operatoren MELLEM mere læsbar:

SELECT users.* from users 
WHERE created_at BETWEEN('2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY));


  1. Installer og opret forbindelse til PostgreSQL 10 på Ubuntu 16.04

  2. Hvad er den bedste måde at forbinde mellem Android og Oracle-databasen?

  3. Sådan henvises til JSON-nøgler, der indeholder specielle tegn, når du bruger OPENJSON, JSON_QUERY og JSON_VALUE (SQL-server)

  4. Rækkeforskydning i SQL Server