我正在寻找一种方法来选择当前时间在行中两个设定值之间的行。我已经设置了一个包含3列的表,其中2列包含时间戳(HH:MM:SS),另一列包含字符串。有没有办法让我得到与当前时间相对应的字符串? 用更抽象的方式来表达:
SELECT String FROM TableName WHERE(当前时间)BETWEEN(下限时间值)AND(上限时间值);
所以基本上,根据当前时间,我的脚本应该输出正确的字符串。
我该如何解决这个问题? 谢谢!
答案 0 :(得分:5)
在MySQL
中,时间戳是一个令人困惑的词。
如果从lowerlimit
到upperlimit
的{{1}}和TIME
列为00:00:00
,则
23:59:59
这将正确处理午夜过渡。
答案 1 :(得分:4)
SELECT string_col
FROM your_table
WHERE CURTIME() BETWEEN lower_limit_col AND upper_limit_col
答案 2 :(得分:2)
你做的就是这样:
SELECT String FROM TableName WHERE CURTIME() BETWEEN (Lower Limit Time Value) AND (Upper Limit Time Value);
答案 3 :(得分:2)
两列的类型应该是时间(而不是时间戳)。然后,答案在你的问题中:
select string from tablename where curtime() between lowerlimit and upperlimit
请确保夜晚不会从22:00:00到06:00:00,或者不起作用。但是你可能会为may引入两个间隔:一个从22:00:00到24:00:00,另一个从00:00:00到06:00:00。