Psycopg2没有获取数据库中存在的所有数据

时间:2014-09-23 18:35:48

标签: python database psycopg2 psql

我使用psycopg2查询数据库,并在循环中执行查询。

for i in range(0,len(time)):
            cur2.execute("SELECT  * from obs where ujd=%s;",(time[i],))
            m=cur2.fetchall()
            print time[i], m

对于某些查询,数据按照我的预期返回。但是,有时候不会返回任何内容,即使我可以从psycopg2外部成功查询并获取数据。

例如,当我的循环达到时间[i] 2456146.72784时,psycopg2返回一个空数组:[]

如果我在循环外部执行此操作并手动输入2456146.72784,那么我将获得所需的所有数据。

如何从循环内成功查询?

1 个答案:

答案 0 :(得分:0)

指定数据类型可以解决问题。在这种情况下,它们是花车。

更改行:

cur2.execute("SELECT  * from obs where ujd=%s;",(time[i],))

为:

cur2.execute("SELECT  * from obs where ujd=%s;",(float(time[j]),))