найти время, ближайшее к данному массиву раз - PullRequest
0 голосов
/ 05 января 2012

Я столкнулся с небольшим усложнением в этой логике, пожалуйста, помогите мне ....

так что дело в следующем:

У меня есть список раз в таблице, как

9:00, 9:30, 10:00, 10:30, 11:00, 11:30, 12:00, 12:30, 13:00, 1:30 часов вечера ...........

так что теперь, если я дал случайное время, например 10: 42 утра , логика должна быть такой, чтобы онаreturn 10: 30 am

пожалуйста, помогите мне с этой логикой ........

это очень помогает, если это sql-оператор ...

любая помощь очень ценится.,,,.

Спасибо

Ответы [ 2 ]

3 голосов
/ 05 января 2012

Во-первых, избавьтесь от своих am / pm квалификаторов - используйте 24-часовые часы. Еще лучше, просто используйте секунды или минуты с полуночи.

Если вы сделали это, вы можете просто использовать:

SELECT   time, ABS(time - usertime) AS diff
FROM     mytable
ORDER BY diff
LIMIT    1

На самом деле это синтаксис MySQL, но его легко перенести на SQLite.

0 голосов
/ 05 января 2012

SQL, скорее всего, предпочтительнее:

select max(datecol) from thetimetable where datecol <= thewantedtime 
...