我在数据库中有一列(scheduledStartDateTime
),类型为datetime
,我必须根据用户输入的datetime
搜索前一行数据
我的问题是这样的:
order = self.trips_session.query(Order).filter(
and_(
Order.driverSystemId == driver_system_id,
func.date(Order.scheduledStartDateTime) < func.date(start_date)
)).order_by(
DispatchOrder.scheduledStartDateTime.desc()).first()
我的搜索日期是2020-01-13 07:16:06
即订单号5673
,因此理想情况下,我正在寻找订单号5677
,但我得到的是5679
。如何根据小时、分钟和秒来比较日期
因此,您希望转换
datetime
,但是func.date()
将datetime
强制转换为date
,因此缺少小时/分钟/秒。您只需正常执行比较,无需强制转换日期时间:或者,如果提供的一个日期时间不是
datetime
格式,则可以使用func.datetime()
强制转换它/它们,而不会丢失时间信息相关问题 更多 >
编程相关推荐