在python中使用sql时,如何使用integer、float和string等参数?

nhjlsmyf  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(228)

我正在尝试使用python中的sql来提取数据。
当它是一个简单的查询(如:

query="""
      SELECT OBJECTID
      FROM ACTIVITY
      """
a=cursor.execute(query)

但是当我试着把一个数字放进去的时候,它会有一个错误:

当我尝试limit、rownum等时,同样的错误也会发生。看起来我不能像这样在代码中输入一个数字。
我也试过这样做:

但同样的错误也发生了。
我也试过:

query="""
      SELECT TOP %s OBJECTID
      FROM ACTIVITY
      """
num = 5
a=cursor.execute(query, num)

但我得到了这个:

所以,我想知道如何用类似python的参数将整数、浮点和字符串转换成sql?

u5i3ibmn

u5i3ibmn1#

如果是导致问题的号码,请尝试以下方式使用查询:

query="""
      SELECT TOP %s OBJECTID
      FROM ACTIVITY
      """
num = (5)
a=cursor.execute(query, num)

另一种方式:

query="""
          SELECT TOP %(limit)s OBJECTID
          FROM ACTIVITY
          """
param = {
    'limit': 5
}
a=cursor.execute(query, param)

不是100%确定,但这可能会解决问题。

0sgqnhkj

0sgqnhkj2#

我想我知道了。以下是示例:

query="""
      SELECT OBJECTID,PROJECTOBJECTID
      FROM ACTIVITY
      where ROWNUM<=:num
      """
param={'num':5}
myRow=cursor.execute(query,param)

相关问题