Oracle ORA-00917缺失逗号错误:Pandas插入Oracle数据库问题
解决Oracle插入语句ORA-00917缺失逗号错误
你的INSERT语句错误出在列名列表里使用了函数表达式,Oracle要求列列表必须是表的字段名,不能直接写TO_DATE(REPORTDATE,'YYYY-MM-DD HH24:MI:SS')这种转换函数。
正确的写法应该是把列名REPORTDATE放到列列表中,然后在VALUES对应的位置使用TO_DATE函数处理传入的参数:
INSERT INTO DATA (NO_TRANSMITTER,ZONA,STATUS_PELABUHAN,REPORTDATE,STATUS) VALUES(:1,:2,:3,TO_DATE(:4,'YYYY-MM-DD HH24:MI:SS'),:5)
错误原因说明:
- 原语句的列列表里混入了函数调用,Oracle解析时会把
TO_DATE(REPORTDATE,'YYYY-MM-DD HH24:MI:SS')当成一个不合法的列名,导致语法解析失败,触发ORA-00917错误。 - 正确逻辑是:列列表指定要插入的表字段,VALUES里对需要转换的参数应用日期格式化函数。
内容的提问来源于stack exchange,提问作者Ridwan Nurzeha
相关产品推荐
相关产品推荐

