【发布时间】:2019-07-09 00:12:29
【问题描述】:
我正在使用具有时间戳列的 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")
同样的错误信息
谢谢
【问题讨论】:
-
m-d-y 可能是客户端格式,请尝试使用
YYYY-MM-DD HH:MI:SS。 -
@dnoeth 谢谢,但不幸的是,这也不起作用。同样的错误。
-
然后尝试按原样传递字符串并应用 Teradata 函数:
To_Timestamp('02/14/2019 13:23:24', 'mm/dd/yyyy hh24:mi:ss')或切换到标准 SQL 时间戳文字:TIMESTAMP 'yyyy-mm-dd hh:mi:ss