我在SQLite上使用纯SQL进行以下查询,但不知道如何将其转换为pyDAL:
SELECT * FROM buy WHERE date('now','-2 days') < timestamp;购买表模式是:
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));发布于 2017-09-26 13:55:06
不必使用SQLite date函数,您可以在Python中创建比较日期:
import datetime
cutoff_time = datetime.datetime.now() - datetime.timedelta(2)
rows = db(db.buy.timestamp > cutoff_time).select()或者,您也可以传递一个原始SQL字符串作为查询:
rows = db('buy.timestamp > date("now", "-2 days")').select(db.buy.ALL)注意,在这种情况下,由于db()中的查询只是一个字符串,DAL将不知道要选择哪个表,因此有必要显式地指定.select()中的字段(或者,您可以添加一个选择所有记录(如(db.buy.id != None))的虚拟查询)。
https://stackoverflow.com/questions/46425184
复制相似问题