Python SQLite&;PostgreSQL区间兼容性

Python SQLite&;PostgreSQL区间兼容性,python,postgresql,sqlite,sqlalchemy,Python,Postgresql,Sqlite,Sqlalchemy,试图在PostgreSQL和SQLite上使用一个查询-我需要通过使用数据库列添加一个iterval来比较datetime: end\u日期=日期+时间增量(分钟=持续时间) 约会\结束\日期=约会日期+功能完成\时间间隔( 0,0,0,约会。持续时间 ) 现有课程=Appointment.query.filter( 或_( 和(约会日期=日期), 和(约会结束日期>=date,约会结束日期不能不跳过一些严重的障碍。SQLite没有区间类型,而是使用函数进行此类运算:(使用修饰符检查)。您可以创

试图在PostgreSQL和SQLite上使用一个查询-我需要通过使用数据库列添加一个iterval来比较
datetime

end\u日期=日期+时间增量(分钟=持续时间)
约会\结束\日期=约会日期+功能完成\时间间隔(
0,0,0,约会。持续时间
)
现有课程=Appointment.query.filter(
或_(
和(约会日期=日期),

和(约会结束日期>=date,约会结束日期不能不跳过一些严重的障碍。SQLite没有区间类型,而是使用函数进行此类运算:(使用修饰符检查)。您可以创建一个自定义的SQLA构造,该构造将在两个DBMS上编译为合适的表达式。我明白了。您认为有没有不需要
INTERVAL
的qurey逻辑实现?@IljaEverilä嗯,您可以检查差异(INTERVAL)大于或等于
date-Appointment.date
,但这并不能为您带来太多好处,因为您仍然需要对Postgresql和SQLite进行不同的查询。这就是为什么人们通常会这样做的原因,但如果您愿意的话,请查看此Q/A,以获取有关定制构造的指针:不必跳过一些严重的障碍。SQLite没有区间类型,而是将函数用于此类算术:(使用修饰符检查)。您可以创建一个自定义的SQLA构造,该构造将在两个DBMS上编译为合适的表达式。我明白了。您认为有没有不需要
INTERVAL
的qurey逻辑实现?@IljaEverilä嗯,您可以检查差异(INTERVAL)大于或等于
date-Appointment.date
,但这并不能为您带来太多好处,因为您仍然需要对Postgresql和SQLite进行不同的查询。这就是为什么人们通常会这样做的原因,但如果您愿意,请查看此Q/A,以获取有关自定义构造的指针:
Appointment.date + timedelta(minutes=Appointment.duration)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such function: make_interval