我有一个简单的mysql表,有两个时间字段,即from和to。
我有两个记录,即:
from | to
07:00:00 | 17:59:59
18:00:00 | 06:59:59
如果我执行以下查询:
SELECT * FROM prices WHERE '11:06' BETWEEN pric_from AND pric_to LIMIT 1
上面的查询正在返回正确的记录。
但如果我运行以下查询:
SELECT * FROM prices WHERE '18:30' BETWEEN pric_from AND pric_to LIMIT 1
它没有返回任何东西,因为它应该返回第二个记录。
有人能帮我吗?
谢谢。
3条答案
按热度按时间9avjhtql1#
@fa06提到
我想你的意思是使用datetime值而不仅仅是date。那么你的“价值观”将是第二天,因此更大,然后你的“价值观”。
roejwanj2#
我相信我需要另一张唱片,并对另一张唱片做了一些改动,所以最后我的结局是这样的:
从|到07:00:00 | 17:59:59 18:00:00 | 11:59:59 00:00:00 | 06:59:59
这就成功了。
谢谢。
nnt7mjpx3#
对于使用between,需要按照先小后大的顺序指定范围