在python中使用sql时,如何使用参数,包括整数、浮点和字符串?

在python中使用sql时,如何使用参数,包括整数、浮点和字符串?,python,sql,string,parameters,integer,Python,Sql,String,Parameters,Integer,我试图在Python中使用SQL来提取数据 当它是一个简单的查询(如: query=""" SELECT OBJECTID FROM ACTIVITY """ a=cursor.execute(query) 但当我尝试在其中输入一个数字时,它将出现错误: 当我尝试LIMIT、ROWNUM等时,同样的错误也会发生。看起来我不能像这样在代码中输入一个数字 我也试过这样做: query=""" SELECT TOP %s OBJECTID

我试图在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)

但同样的错误也发生了

此外,我尝试:

query="""
      SELECT TOP %s OBJECTID
      FROM ACTIVITY
      """
num = 5
a=cursor.execute(query, num)
但我有一个:


因此,我想知道如何在类似Python的参数中将整数、浮点和字符串转换为sql?

如果是数字导致了问题,请尝试以下方式使用查询:

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%确定,但这可能会解决问题。

我想我已经解决了。以下是一个例子:

query="""
      SELECT OBJECTID,PROJECTOBJECTID
      FROM ACTIVITY
      where ROWNUM<=:num
      """
param={'num':5}
myRow=cursor.execute(query,param)
query=”“”
选择OBJECTID、PROJECTOBJECTID
从活动

我更新了我的问题。请看一看,我添加了另一种方式。我希望可以,如果没有,那么我会告诉你我发现了什么。此外,我还更改了第一种方式。num变量应该是元组,而不是整数。请再次尝试更改,谢谢。我想我找出答案。使用where-ROWNUMWhat数据库您使用的是什么?我使用的是oracle sql