sql >> Databasteknik >  >> RDS >> Mysql

Visa rader från MySQL där en datetime ligger inom den närmaste timmen

Jag kommer att postulera att du tittar på en grupp poster som innehåller ett intervall av DATETIME-värden, så du vill förmodligen ha något mer som detta:

SELECT id,
       name, 
       info, 
       date_time
FROM acms_events
    WHERE date_time < DATE_ADD(NOW(), INTERVAL 1 HOUR)
        AND date_time >= NOW()
        AND active = 1
ORDER BY date_time ASC
LIMIT 6

Annars söker din fråga efter poster med datum_tid på exakt "nu + 1 timme". Jag antar att alla dina datum inte är specifika för just den sekunden.;)

För att förtydliga lite, DATE_ADD() och DATE_SUB() returnera exakta tidsstämplar, så din fråga ovan översätts ungefär till något som SELECT ... WHERE date_time = '2010-04-14 23:10:05' ORDER BY ... , vilket jag inte tror är vad du vill.



  1. Använder du resultatet av ett uttryck (t.ex. funktionsanrop) i en parameterlista för lagrad procedur?

  2. Ogiltig PathExpression. Måste vara ett StateFieldPathExpression

  3. Oracle 12.2 Sharding

  4. TSQL PIVOT FLERA KOLUMNER