sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL returnerar exakt eller närmast datum till efterfrågat datum

Om du vill ha det närmaste datumet innan, gör det så här:

SELECT year, session_date
FROM calendar_dates
WHERE session_date < '$date_string'
ORDER BY session_date DESC
LIMIT 1;

Det närmaste datumet efter använder liknande logik.

För de närmaste på vardera sidan:

SELECT year, session_date
FROM calendar_dates
ORDER BY abs(session_date - date '$date_string') 
LIMIT 1;


  1. Får fel - ORA-01858:ett icke-numeriskt tecken hittades där ett numeriskt tecken förväntades

  2. ClassCastException:java.math.BigInteger kan inte castas till java.lang.Long på att ansluta till MySQL

  3. Slå dynamiskt upp kolumnnamn för en tabell i en sql-fråga

  4. Databasdesign:hur stödjer man en flerspråkig webbplats?