我在这个逻辑上面临一点点复杂,请帮助我......
所以问题是:
我有一个像
这样的表中的时间列表上午9:00,上午9:30,上午10:00,上午10:30,上午11:00,上午11:30,中午12:00,下午12:30,下午1:00,下午1:30 PM ...........
所以现在如果我给了一个像 10:42 am 这样的随机时间,逻辑应该是这样的,它应该返回 10:30 am
请帮我解决这个逻辑........
如果它是sql-statement ...
,它会有很多帮助非常感谢任何帮助。 。 。 。
谢谢
答案 0 :(得分:3)
首先,摆脱你的am / pm
限定符 - 使用24小时制。更好的是,从午夜开始使用秒或分钟。
如果你已经这样做了,那么你可以使用:
SELECT time, ABS(time - usertime) AS diff
FROM mytable
ORDER BY diff
LIMIT 1
这实际上是MySQL语法,但是应该很容易移植到SQLite。
答案 1 :(得分:0)
SQL可能更受欢迎:
select max(datecol) from thetimetable where datecol <= thewantedtime