格式化Teradata DB表的Python时间戳

时间:2019-02-14 21:30:37

标签: python datetime teradata

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

2/14/2019 13:09:51.210000

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

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")

相同的错误消息

谢谢

1 个答案:

答案 0 :(得分:0)

弄清楚了。事实证明它与时间戳无关,我不得不重新设置要从中读取的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")

很抱歉造成混乱