Отформатировать временную метку Python для таблицы БД Teradata - PullRequest
0 голосов
/ 15 февраля 2019

Я работаю с таблицей Teradata, у которой есть столбец отметки времени: TIMESTAMP (6) с данными, которые выглядят следующим образом:

2/14/2019 13:09:51.210000

В настоящее время у меня есть переменная времени Python, которую я хочу отправить вТаблица Teradata через SQL, которая выглядит следующим образом:

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 голосов
/ 15 февраля 2019

Разобрался.Оказалось, что он не связан с меткой времени, и мне пришлось переформатировать столбец 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")

Извините за путаницу

...