mysql不能使用低于和高于值的值

时间:2016-11-25 11:22:26

标签: mysql

我已经创建了sql查询,我希望获得的数据大于开始时间而不是结束时间意味着在这些时间之间,但问题是我没有得到任何结果作为回报可以任何人帮我解决时间是整数

$sql  = mysqli_query($connection, "SELECT * FROM listings WHERE address = '$address' AND start_time >= '$start_time' AND end_time <= '$end_time' LIMIT 1");
$data = mysqli_fetch_array($sql);

这是db

的数据
address : 1351 Powell St
start_time : 900
end time : 1080

我插入的查询是

SELECT * FROM listings 
WHERE address = '1351 Powell St' AND start_time >= '915' AND end_time <= '930' LIMIT 1

我不知道为什么它会返回0 recods

3 个答案:

答案 0 :(得分:1)

您的查询不会返回任何行,因为它们不符合条件。

start_time >= '915' AND end_time <= '930'

您的end_time是1080,大于930,因此它不会返回任何值。与start_time相同。

答案 1 :(得分:1)

根据您发布的数据条件应该是其他方式,如

SELECT * FROM listings 
WHERE address = '1351 Powell St' 
AND start_time <= '915' 
AND end_time >= '930' 
LIMIT 1

顺便说一句,那些start_timeend_time时间列的类型是INT还是VARCHAR?如果它们是字符串类型,那么我想知道>=比较是如何进行的。

答案 2 :(得分:0)

如果start_time和end_time是整数类型,那么试试这个

SELECT * 
FROM listings 
WHERE address = '1351 Powell St' 
      AND start_time >= 915
      AND end_time <= 930
LIMIT 1;

你的end_time是1080,大于930,所以它不会返回任何值。你的start_time是900,小于915,所以它不会返回任何值。