首页 > 解决方案 > 为 Teradata DB 表格式化 Python 时间戳

问题描述

我正在使用具有时间戳列的 Teradata 表:TIMESTAMP(6),其数据如下所示:

2/14/2019 13:09:51.210000

目前我有一个 Python 时间变量,我想通过 SQL 将它发送到 Teradata 表中,如下所示:

from datetime import datetime

time = datetime.now().strftime("%m/%d/%Y %H:%M:%S")

02/14/2019 13:23:24

如何重新格式化以正确插入?这是错误的:

teradata.api.DatabaseError: (6760, '[22008] [Teradata][ODBC Teradata Driver][Teradata Database](-6760)Invalid timestamp.')

我尝试使用 Teradata 时间戳列使用的相同格式:

time = datetime.now().strftime("%mm/%dd/%YYYY %HH24:%MI:%SS")

相同的错误信息

谢谢

标签: pythondatetimeteradata

解决方案


弄清楚了。结果与时间戳无关,我不得不重新格式化它正在读取的 DataFrame 列。更改数据类型修复了它:

final_result_set['RECORD_INSERTED'] = pd.to_datetime(final_result_set['RECORD_INSERTED'])

现在,当通过 SQL 循环和插入时,以下内容可以很好地填充“RECORD_INSERTED”:

time = datetime.now().strftime("%m/%d/%Y %H:%M:%S")

对困惑感到抱歉


推荐阅读