我有Python 3.7和cx_Oracle 6.4.1,查询日期时间时遇到问题。
例如,如果我查询“从双重选择sysdate” 我收到“ ValueError:小时必须在0..23
但是,如果我查询“从double中选择to_char(sysdate,'YYYY-MM-DD') 我没有任何问题。
在使用Python 3.6.3和cx_Oracle 6.0.2时,我没有这个问题
编辑: 代码不多,我只包含了复制所需的最少数量。
>>> DB = cx_Oracle.connect(uid,pwd,DSN)
>>> cursor = DB.cursor()
>>> cursor.execute("select sysdate from dual")
>>> [r for r in cursor]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <listcomp>
ValueError: hour must be in 0..23
>>> cursor.execute("select to_char(sysdate, 'YYYY-MM-DD HH24-MI-SS') from dual")
>>> [r for r in cursor]
[('2018-08-20 10-53-04',)]
此外,我忘了提到我正在使用Windows10。