Python+sqlalchemy:如何在数据库端处理timedelta?

2024-10-03 11:26:33 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Python编码时,我想插入在数据库端处理的时间,如下所示:

time = func.now()-datetime.timedelta(days=100)

或者

^{pr2}$

但不知怎的,它无法通过,看到警告:

sqlalchemy\engine\default.py:330: Warning: Truncated incorrect DOUBLE value: '1970-01-04 00:00:00'

有没有办法弄清楚?谢谢。在

================================

我想更新表“Purchase”中的时间戳列“date_buy”,而不是使用日期时间。日期时间。现在()为了获得python中的更新时间,我希望在数据库中完成此操作,这意味着我更愿意现在功能():

time = func.current_timestamp()-datetime.timedelta(days=100)
# time = datetime.datetime.now()-datetime.timedelta(days=100)
session.execute(update(Purchase).values(date_buy=time).where(Purchase.c.id == 11))

================================

解决了。感谢布莱恩和他的帖子: http://groups.google.com/group/sqlalchemy/browse_thread/thread/a67d4f179e01b98a/ee688a0b8a999f52?hl=en&lnk=gst&q=date_add#ee688a0b8a999f52


Tags: 数据库编码datetimedatetimesqlalchemy时间buy
1条回答
网友
1楼 · 发布于 2024-10-03 11:26:33

警告是

Warning: Truncated incorrect DOUBLE value: '1970-01-04 00:00:00'

意味着它会截断你的数据。请检查要在其中存储时间对象的字段类型。它表示您试图用datetime值存储双精度值。

如果这不能解决问题,那么只需给出一些代码示例,这样我们就可以知道您要做什么了。在

相关问题 更多 >