cx_oracle存入时间格式,python cx_Oracle插入TIMESTAMP字段后显示格式问题?

目标:A张表内有个 TIMESTAMP 字段,需要读取后插入到B表中;

问题:使用 cx_Oracle模块读取该字段时显示为 datetime.datetime(2016, 9, 1, 0, 0, 1, 288000) 样式;

使用 executemany 方法插入B表后,再次读取B表的该字段,显示为 datetime.datetime(2016, 9, 1, 0, 0, 1)

后面的毫秒单位消失了;

求解如何再插入后,保留后面的毫秒单位;

但是用 execute 方式插入,则格式正常,求解,非常感谢!

大致代码

sql_a = ''' SELECT HOSTURL,GETTIME,CPUUSERAGE,CPUSYSUSAGE,CPUIOUSAGE,CPUFREERATE,CREATE_DT,FLAG FROM PC_MONITOR_CPU_TX '''

ck_oracle.execute(sql_a)

data = ck_oracle.fetchall()

sql = "insert into PC_MONITOR_CPU_MX(HOSTURL,GETTIME,CPUUSERAGE,CPUSYSUSAGE,CPUIOUSAGE,CPUFREERATE,CREATE_DT,FLAG) values (\

:HOSTURL,:GETTIME,:CPUUSERAGE,:CPUSYSUSAGE,:CPUIOUSAGE,:CPUFREERATE,:CREATE_DT,:FLAG)"

ck_oracle.executemany(sql,data)

ck_oracle.execute(sql_a)

data = ck_oracle.fetchall()

print(data)

等了一会儿,发现这个问题居然没有发布,找了半天都找不到怎么发布问题;

然后在 stackoverflow上找到了方法;

基本上是这样就可以了;

db_types = (d[1] for d in db1_cursor.description)

db2_cursor.setinputsizes(*db_types)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值