0
我得到意想不到的结果与Python3中的SQLite3查询。Python:奇怪的SQLite3查询结果
if first_waypoint_number < last_waypoint_number:
result = list(c.execute("SELECT WPNumber, WPID, ROUTE FROM rte WHERE ROUTE = ? AND WPNumber BETWEEN ? AND ?", (route, first_waypoint_number, last_waypoint_number)))
print(result)
else:
result = list(c.execute("SELECT WPNumber, WPID, ROUTE FROM rte WHERE ROUTE = ? AND WPNumber BETWEEN ? AND ? ORDER BY WPNumber DESC", (route, first_waypoint_number, last_waypoint_number)))
print(result)
第一个查询就像预期,并产生这样的结果:
[('A123', 25, 'WAYPOINTX'), ('A123', 26, 'WAYPONTY'), ('A123', 27, 'WAYPOINTZ')]
第二个查询然而,产生一个空列表[]
,而它应该返回按相反的顺序相同的列表。
我已经在SQLite3中测试了两个查询没有问题。
我在这里错过了什么吗?
在这两个查询中,BETWEEN运算符都是相同的。我只是使用DESC来反转结果。此外,这两个查询都已经在SQLite中测试过了,没有任何问题。 – Caesius
当下限大于上限时尝试测试查询:“BETWEEN 27和25”。 'else'子句确保是这种情况。 – hamstergene
Doh ..当然是的。我的错! – Caesius