Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL - изберете данни от база данни между две дати

Вашият проблем е, че кратката версия на датите използва полунощ по подразбиране. Така че вашата заявка всъщност е:

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

Ето защо не виждате записа за 10:45.

Променете го на:

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

Можете също да използвате:

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

Което ще избере всички потребители в същия интервал, който търсите.

Може също да намерите оператора BETWEEN по-четлив:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете записи с най-висок/най-малък <каквото> на група

  2. Свързване с MySQL с помощта на Python

  3. КОРЕКЦИЯ:MySQL – команда SELECT, отказана на потребителя

  4. rails + MySQL на OSX:Библиотеката не е заредена:libmysqlclient.18.dylib

  5. MySQL срещу MariaDB:какво трябва да знаете