Python插数据入Oracle数据库的问题

a1419362866 2017-11-04 11:56:58
这是错误的SQL
insert into ml_sadmpa_spc_apply_ltmp values (1026942869114, 'C441902VEH17003632', ' ', ' ', '5010800', '东莞分公司', 'GCZ064',
'蓝玲', '费用理赔申请', "to_date('2017-08-31 16:10:37','yyyy-mm-dd hh24:mi:ss')",
' ', ' ', ' ', ' ', 'null', 'null', ' ', ' ', ' ', '5010800', '08', '2017',
"to_date('2017-09-02 19:00:01','yyyy-mm-dd hh24:mi:ss')")

这是能插入的SQL
insert into ml_sadmpa_spc_apply_ltmp values (1026942869114, 'C441902VEH17003632', ' ', ' ', '5010800', '东莞分公司', 'GCZ064',
'蓝玲', '费用理赔申请', to_date('2017-08-31 16:10:37','yyyy-mm-dd hh24:mi:ss'),
' ', ' ', ' ', ' ', null, null, ' ', ' ', ' ', '5010800', '08', '2017',
to_date('2017-09-02 19:00:01','yyyy-mm-dd hh24:mi:ss'))

这是主要的代码
stmt = """INSERT INTO ml_sadmpa_spc_apply_ltmp (topactualid, notificationno, ctpclaimno, comclaimno, op_branch_code,
op_branch_name, op_code, op_name, kind, statrt_time, audit_code,
audit_name, audit_descript, the_result, special_start_time, back_time,
back_reason, isreopenctp, isreopencommercial, branch_code, ml_month,
ml_year, ml_population_timestamp) VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,
:12,:13,:14,:15,:16,:17,:18,:19,:20,:21,:22,:23)"""
conn = cx_Oracle.connect('###', '####', '####')
cur = conn.cursor()
cur.executemany(stmt, params)
怎么才能让他生成正确的SQL啊 ,params打印的是错误的那种的
[(1026942869114, 'C441902VEH17003632', ' ', ' ', '5010800', '东莞分公司', 'GCZ064', '蓝玲', '费用理赔申请', "to_date('2017-08-31 16:10:37','yyyy-mm-dd hh24:mi:ss')", ' ', ' ', ' ', ' ', 'null', 'null', ' ', ' ', ' ', '5010800', '08', '2017', "to_date('2017-09-02 19:00:01','yyyy-mm-dd hh24:mi:ss')")]


...全文
264 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
a1419362866 2017-11-07
我找到原因了,空的话直接给None对象,日期的话,用python自带日期转换下就都ok了
  • 打赏
  • 举报
回复
oyljerry 2017-11-05
对比一下字符串,主要是引号的区别。用format等拼接一下
  • 打赏
  • 举报
回复
a1419362866 2017-11-05
引用 2 楼 oyljerry 的回复:
对比一下字符串,主要是引号的区别。用format等拼接一下
我Python是半个月前开始自学的,感觉导数据挺快的所以想尝试一下,谢谢您的回答啊 我知道是引号的问题,execute我能把正确的SQL拼出来,但是 cur.executemany(stmt, params)后面的这个参数是列表,里面是一个元祖对应数据库一条记录,他这个SQL不是我拼的,我只是提供后面的params列表,我发现None插到数据库,并不是NULL而是字符串None,还有日期"to_date('2017-09-02 19:00:01','yyyy-mm-dd hh24:mi:ss')"我是不希望有引号的,但是不是字符类型的to_date('2017-09-02 19:00:01','yyyy-mm-dd hh24:mi:ss')存不进去
  • 打赏
  • 举报
回复
a1419362866 2017-11-04
这个列表中的数据是通过txt文件中读取的 1026942869114||C441902VEH17003632|| || ||5010800||东莞分公司||GCZ064||蓝玲||费用理赔申请||2017-08-31 16:10:37|| || || || ||None||None|| || || ||5010800||08||2017||2017-09-02 19:00:01||
  • 打赏
  • 举报
回复
相关推荐
发帖
脚本语言
加入

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • ITBOB • 鲍勃
申请成为版主
帖子事件
创建了帖子
2017-11-04 11:56
社区公告

CSDN 脚本语言社区接受专栏投稿(专栏会在顶部创建专属你的栏目),投稿需满足以下要求:

  • 脚本语言技术相关;
  • 文章持续更新,保持活跃;
  • 内容清晰明了,干货为主;
  • 文章排版有序,有条有理。

本社区开通招聘专栏,发布招聘信息请联系版主,发布者需要保证招聘信息真实有效,CSDN 平台和版主不对招聘内容负责!

联系方式:私聊版主、发送邮件、QQ联系等均可: