计算函数SQL中的where部分

2024-03-29 06:37:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用SQL计算一个有点“复杂”的计算。我正在用Python和sqlite3编程

我需要得到第一个记录(称为s say),它的lat和lng字段介于2个值之间。
比如:

横向(<;=纬度<;=s、 纬度+α和s.lng<;=液化天然气<;=s、 液化天然气+β

我试着写这个: lt、lg、alpha和beta是浮点变量

        c.execute('SELECT * FROM squares WHERE (lat <= ? and ? <= lat     + ? and long <= ? and ? <= long + ? ',(lt,lt,alpha,lg,lg,beta))
        rslt =c.fetchone()
        print rslt

但它引发了一个例外

非常感谢

莎拉


Tags: andltalphasql编程sqlite3longbeta
1条回答
网友
1楼 · 发布于 2024-03-29 06:37:45

邓肯正确地指出了括号。另外,我会使用“BETWEEN”命令而不是您的行:

c.execute('SELECT * FROM squares WHERE (lat BETWEEN ? AND ?+? AND long BETWEEN ? AND ?+?'),(lt,lt,alpha,lg,lg,beta))

相关问题 更多 >