我在 Google App Engine 中有一个带有日期字段的简单表格。我想查询从现在到 6 小时前的日期字段值的所有行。我如何形成这个查询?
问问题
7364 次
2 回答
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
于 2009-06-15T01:22:35.020 回答
13
SELECT * FROM simpletable
WHERE datefield < DATETIME(year, month, day, hour, minute, second)
在您的应用程序代码中计算那些年、月等。
于 2009-06-15T01:13:34.510 回答