sql >> Database >  >> RDS >> Mysql

Zoek de datum en tijd die het dichtst bij de opgegeven datum en tijd ligt in de mysql-query

Het belangrijkste idee is om order by . te gebruiken en limit :

Als je eerst de dichtstbijzijnde wilt:

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

Als je de dichtstbijzijnde wilt, in beide richtingen, gebruik dan TIMESTAMPDIFF() :

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


  1. Een gids voor PGpool - Hints en observaties:deel drie

  2. 9 echt handige MySQL-datumfuncties die gemakkelijk te onthouden zijn

  3. mysql-telgroep door te hebben

  4. org.hibernate.exception.JDBCConnectionException ophalen:kon query niet uitvoeren, zelfs niet via JNDI