sql >> Databáze >  >> RDS >> Mysql

MySQL - výběr dat z databáze mezi dvěma daty

Váš problém je, že krátká verze dat používá půlnoc jako výchozí. Takže váš dotaz je ve skutečnosti:

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

To je důvod, proč nevidíte záznam 10:45.

Změňte jej na:

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

Můžete také použít:

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

Který vybere všechny uživatele ve stejném intervalu, který hledáte.

Operátor BETWEEN může být také čitelnější:

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


  1. Která syntaxe spojení je lepší?

  2. Jak přidat omezení cizího klíče do existující tabulky v SQL Server - SQL Server / TSQL výukový program, část 68

  3. Jak zakázat ukládání do mezipaměti SQLAlchemy?

  4. Zdá se, že režim H2 postgresql pro mě nefunguje