【发布时间】:2017-09-01 12:59:48
【问题描述】:
我试图弄清楚我在解析日期/时间参数时收到的错误消息,例如:
'29-SEP-1999 14:00:00'
相对于:
'29-SEP-1999'
前者不插入表格,后者插入。我怀疑 NLS 设置存在问题,但设置并不清楚允许使用什么格式的日期/时间,因此我需要在我的 python 代码中重新格式化日期/时间。我在 SQL Developer 上对 NLS 的当前设置是:
Date format: DD.MM.RR HH24:MI:SSXFF
这是我的代码:
sql_insert = 'insert into sms_temtplate_test (date_sms, result_sms, msgid, msgparts) values (:1, :2, :3, :4)'
smsreport_text_new = ('29-SEP-1989 14:00:00', 'success', '2D67A865FBHFA25A9261C75E8D2F0F2B ', 1)
cursor.execute(sql_insert, smsreport_text_new)
connection.commit()
cursor.close()
connection.close()
【问题讨论】:
-
SQL Developer 上的 NLS 设置不会起任何作用,您能否在插入日期的位置发布实际代码。
-
原帖修改,见上
-
代替
'29-SEP-1989 14:00:00'试试TO_DATE('29-SEP-1989 14:00:00','dd-mon-yyyy hh24:mi:ss') -
在我的脚本中,我将其修改为:smsreport_text_new = ('''TO_DATE('29-SEP-1959 14:00:00','dd-mon-yyyy hh24:mi:ss') ''', 'success', '2D557A865FBHFA25A9261C75E8D2F0F2B ', 1),还是不行
-
您收到的确切错误信息是什么。
标签: python sql oracle oracle-sqldeveloper cx-oracle