首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyDAL -查询记录比特定日期更新

pyDAL -查询记录比特定日期更新
EN

Stack Overflow用户
提问于 2017-09-26 11:24:32
回答 1查看 513关注 0票数 0

我在SQLite上使用纯SQL进行以下查询,但不知道如何将其转换为pyDAL:

代码语言:javascript
复制
SELECT * FROM buy WHERE date('now','-2 days') < timestamp;

购买表模式是:

代码语言:javascript
复制
CREATE TABLE "buy"(
    "id" INTEGER PRIMARY KEY AUTOINCREMENT,
    "order_id" CHAR(512),
    "market" CHAR(512),
    "purchase_price" DOUBLE,
    "selling_price" DOUBLE,
    "amount" DOUBLE
, "timestamp" TIMESTAMP, "config_file" CHAR(512));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-26 13:55:06

不必使用SQLite date函数,您可以在Python中创建比较日期:

代码语言:javascript
复制
import datetime
cutoff_time = datetime.datetime.now() - datetime.timedelta(2)
rows = db(db.buy.timestamp > cutoff_time).select()

或者,您也可以传递一个原始SQL字符串作为查询:

代码语言:javascript
复制
rows = db('buy.timestamp > date("now", "-2 days")').select(db.buy.ALL)

注意,在这种情况下,由于db()中的查询只是一个字符串,DAL将不知道要选择哪个表,因此有必要显式地指定.select()中的字段(或者,您可以添加一个选择所有记录(如(db.buy.id != None))的虚拟查询)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46425184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档