[mysql] closest to functie?

Pagina: 1
Acties:

  • sjoerdb2
  • Registratie: Juli 2001
  • Laatst online: 09-05-2025
Bestaat er in mysql een soort closest to functie? Als ik bijvoorbeeld met timestamps werk en ik wil de dichstbijzijnde tijd die bij 3 uur smiddags ligt?

Verwijderd

[b]Bestaat er in mysql een soort closest to functie?
Volgens mij bestaat er standaard niet zo'n functie, maar wat je zou kunnen proberen is het volgende.

select tijd from klok where tijd > 2 and < 4;

je kunt dit uitbreiden met een php script, dat hierna de de dichtstbijzijnde waarden van de result eruit filterd.

Ik hoop dat je er wat aan hebt.

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Op donderdag 30 mei 2002 19:55 schreef sjoerdb het volgende:
Bestaat er in mysql een soort closest to functie? Als ik bijvoorbeeld met timestamps werk en ik wil de dichstbijzijnde tijd die bij 3 uur smiddags ligt?
code:
1
2
3
4
5
SELECT *
FROM table
WHERE ....
ORDER BY Abs(timefield - Cast('15:00:00' AS time)) ASC
LIMIT 1

Wel nog even naar de CAST kijken, ik ben niet zo bekend met MySQL dat ik weet hoe dat precies werkt in MySQL dus heb ik maar de SQL92 standaard CAST functie genomen en ik weet niet of MySQL dat deel van de standaard heeft geimplementeerd.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 20:30
Als je op een of andere manier het aantal uur uit je timestamp kan halen (delen door 60, resultaat module 24, zou een lompe methode zijn) kun je natuurlijk gewoon het gewenste getal (bijvoorbeeld 3 voor 3 uur) aftrekken en sorteren op absolute waarde (kleinste eerst).