Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Znajdź datę i godzinę najbliższą podanej w zapytaniu mysql

Kluczową ideą jest użycie order by i limit :

Jeśli chcesz mieć najbliższy wcześniej:

SELECT one
FROM table
WHERE datetimefield <= '2014-12-10 09:45:00'
ORDER BY datetimefield DESC
LIMIT 1;

Jeśli chcesz mieć najbliższy, w dowolnym kierunku, użyj TIMESTAMPDIFF() :

ORDER BY abs(TIMESTAMPDIFF(second, datetimefield, '2014-12-10 09:45:00'))
LIMIT 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak ograniczyć próby logowania - PHP i MySQL i CodeIgniter

  2. Wysyłanie wszystkich błędów PHP do bazy danych, a nie error_log

  3. Skutecznie tworzysz kanał z wielu modeli szyn?

  4. Jak json_encode tablicę z francuskimi akcentami?

  5. Konsola administracyjna Glassfish zgłasza wyjątek java.lang.IllegalStateException podczas tworzenia puli JDBC