我在Google App Engine中有一个带有日期字段的简单表格。我想查询所有行,其中包含从现在到6小时之前的日期字段。如何形成此查询?
答案 0 :(得分:18)
我知道你说的是GQL,但这是我使用的python帮助函数:
import datetime
def seconds_ago(time_s):
return datetime.datetime.now() - datetime.timedelta(seconds=time_s)
可能有一种更简洁的方式来编写它:我不是python专家,并且第一件事就是有效的。如果您关心,请查看日期时间文档。它的使用方式如下:
my_query = MyTable.all().filter("date >", seconds_ago(6*60*60))
我确信可以毫不费力地将其翻译成GQL,但我更喜欢面向对象的界面,而且我不知道必要的DATETIME语法。
在python中,然后使用如下查询:
# get a count
my_query.count()
# get up to 1000 records
my_query.fetch(1000)
# iterate over up to 1000 records
for result in my_query:
# do something with result
答案 1 :(得分:13)
SELECT * FROM simpletable
WHERE datefield < DATETIME(year, month, day, hour, minute, second)
在您的应用程序代码中计算年,月和日。