我有一张这样的桌子
UserID INT | TimeToReset VARCHAR |
---|---|
2 | 20:00 |
3 | 21:00 |
4 | 22:00 |
5 | 23:30 |
6 | 23:50 |
7 | 0:00 |
8 | 0:10 |
9 | 5:00 |
我想 Select "time To Reset"介于23:50和0:10之间的所有用户ID.
我有一张这样的桌子
UserID INT | TimeToReset VARCHAR |
---|---|
2 | 20:00 |
3 | 21:00 |
4 | 22:00 |
5 | 23:30 |
6 | 23:50 |
7 | 0:00 |
8 | 0:10 |
9 | 5:00 |
我想 Select "time To Reset"介于23:50和0:10之间的所有用户ID.
我建议适当地输入您的专栏.MySQL中有一个TIME
数据类型.
ALTER TABLE test MODIFY resetTime TIME;
然后您可以像这样查询:
SELECT * from test
WHERE
resetTime >= "23:50"
OR resetTime <= "0:10"
或者:
SELECT * from test
WHERE
resetTime >= "05:00"
AND resetTime <= "05:30"
注意不同的AND/OR逻辑,这取决于您的时间框架是否在午夜之后结束.
或者,您也可以 for each 查询动态转换字符串,但这不一定会降低性能.如果可以,请修改列定义.使用显式类型转换时,查询将如下所示:
SELECT * from test
WHERE
TIME(resetTime) >= TIME("23:50")
OR TIME(resetTime) <= TIME("00:10")