python - cx_oracle 缺少右括号

标签 python sql select cx-oracle

我正在使用 cx_oracle python 库来查找过去 90 分钟内具有 ModifiedDate 的任何记录。

import cx_Oracle
import datetime
from datetime import timedelta
import config as config

timeNow = datetime.datetime.now()
previousTime = timeNow - datetime.timedelta (minutes = 0)
connection = cx_Oracle.connect(user, password, connection)
cur = connection.cursor()
statement = "SELECT * FROM woodburn_all WHERE modifiedDate >= to_date(" + str(previousTime) +")"
print statement
r = cur.execute(statement)
for row in cur:
    print row

打印的选择语句看起来是正确的:

从 woodburn_all 中选择 *,其中 to_date(modifiedDate) >= to_date(2018-09-2 11:02:10.460000)

我没有看到我在哪里遗漏了任何括号。这是一些奇怪的日期/时间吗?

编辑:使用Python v2.7

最佳答案

your problem in sql statement where clause
 to_date(2018-09-2 11:02:10.460000)

因为如果你在oracle中写这个

select  to_date(2018-09-2 11:02:10.460000) from dual this will trrow
  1. ORA-00907: 缺少右括号,当任何sql语句发生语法错误时oracle引擎抛出此错误

所以应该是这样的

select TO_DATE('09/02/2018 13:27:18', 'MM/DD/YYYY HH24:MI:SS') from dual

所以你的 where 子句将是

TO_DATE('09/02/2018 13:27:18', 'MM/DD/YYYY HH24:MI:SS')

关于python - cx_oracle 缺少右括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52430137/

相关文章:

python - 如何将抓取的数据保存在AWS s3存储桶中

sql - 消除 SQL 2000 的 ROW_NUMBER()

Python:获取属性值

python - python 是否有一种模式可以跟踪执行的每一行,类似于 'bash -x' ?

python - 如何将具有字符串和整数值的多个数据帧转换为 4D 数据结构

mysql - 计数行或存储值 MySQL

mysql - 将返回重复彩票号码的 SQL 查询

java - SELECT INTO 语句在 java 程序中不起作用

angular - 选择上的 ngModel 不显示初始值、默认值

javascript - 一起使用Select Option和If语句可更改背景色