我正在使用具有时间戳列: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")
相同的错误消息
谢谢
答案 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")
很抱歉造成混乱