设置Teradata DB表的Python时间戳格式

设置Teradata DB表的Python时间戳格式,python,datetime,teradata,Python,Datetime,Teradata,我正在使用一个Teradata表,该表有一个timestamp列: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表,该表有一个timestamp列: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")
相同的错误消息


谢谢

把它弄明白了。结果证明与时间戳无关,我必须重新格式化它所读取的数据帧列。更改数据类型修复了它:

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

很抱歉搞混了

把它弄明白了。结果证明与时间戳无关,我必须重新格式化它所读取的数据帧列。更改数据类型修复了它:

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

抱歉造成混淆

m-d-y可能是客户端格式,请尝试使用
yyy-MM-DD HH:MI:SS
。@dnoeth谢谢,但不幸的是,这也不起作用。相同错误。然后尝试按原样传递字符串并应用Teradata函数:
到时间戳('02/14/2019 13:23:24',mm/dd/yyyy hh24:mi:ss')
或切换到标准SQL时间戳文本:
时间戳'yyyy mm dd hh:mi:ss
m-d-y可能是客户端格式,请尝试
YYYYYY-mm-dd hh:mi:ss
。@dnoeth感谢,但不幸的是,这也不起作用。相同的错误。然后尝试按原样传递字符串并应用Teradata函数:
到时间戳('02/14/2019 13:23:24',mm/dd/yyyy hh24:mi:ss')
或切换到标准SQL时间戳文本:
时间戳'yyyy mm dd hh:ss