我希望能够从数据库的某个时间范围中进行选择。这就是我现在所拥有的,但它只选择所有行。
try:
cur.execute("SELECT * from people_counter")
except:
print "cannot select from node"
sys.exit()
node_rows = cur.fetchall()
数据库设置有三行,如下所示,
unit_id,time_stamp,direction
文字,带时区的时间戳,文字
数据库是Postgresql DB,使用python和pyscopg2作为包装器。
我并不完全理解如何在数据库中指定某个列作为日期/时间,以便仅从特定时间范围内选择行。
答案 0 :(得分:2)
您可以在查询中指定值
cur.execute("""SELECT *
FROM people_counter
WHERE time_stamp BETWEEN
date '2015-06-01' and
date '2015-06-30';""")
import datetime as dt
cur.execute("""SELECT *
FROM people_counter
WHERE time_stamp BETWEEN %s and %s;""",
(dt.date(2015,6,1), dt.date(2015,6,30)))