python - 为 Teradata DB 表格式化 Python 时间戳
问题描述
我正在使用具有时间戳列的 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")
相同的错误信息
谢谢
解决方案
弄清楚了。结果与时间戳无关,我不得不重新格式化它正在读取的 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")
对困惑感到抱歉
推荐阅读
- flutter - Flutter web - 如何监听打开的抽屉状态并关闭它
- c# - 以下代码不应该工作,但它可以吗?
- c++ - bpf 过滤器中的双 & 号有什么作用?
- twitter-bootstrap - 我可以让 typeahead/bloodhound 始终显示用户正在输入的内容吗?
- javascript - 删除不适用于 Reactjs 的视频元素
- android - Android Studio 中的格式化程序
- c++ - Azure Kinect 和 Hololens
- python - 合并熊猫数据框时重复列
- solr - Solr - 使用 _text_ 包罗万象的字段
- java - 我不确定我是否在这里正确使用了实例变量 - 基于 RGB 的对象 (Java)