【问题标题】:Replace L, in SQL results in python替换L,在python的SQL结果中
【发布时间】:2014-06-02 12:47:03
【问题描述】:

我正在运行连接到我的数据库的 pyodbc,当我运行一个简单的查询时,我得到了很多结果,例如

(7L, )(12L,) etc. 

如何将 'L, ' 替换为 '' 以便将 ID 传递到另一个查询中

谢谢

这是我的代码

import pyodbc
cnxn = pyodbc.connect('DSN=...;UID=...;PWD=...', ansi=True)
cursor = cnxn.cursor()
rows = cursor.execute("select id from orders")
for row in rows:
    test = cursor.execute("select name from customer where order_id = %(id)s" %{'id':row})
    print test

【问题讨论】:

  • 您不需要或不想这样做。这些是由单个长整数组成的元组。如果您对格式有疑问,您应该说明如何检索它们以及在将它们传递到其他查询时遇到问题。
  • 添加了我想要做的事情,如果我尝试传入 7L,我会在字符 45 处的“L”处或附近得到语法错误\n
  • 这通常意味着存在语法错误在某处 L - 例如,也可能是缺少或多余的逗号。你真的确定 L 是错误的原因吗?考虑在此处发布您的完整查询...
  • 这基本上是我的查询,我只是测试它试图让它工作,我对第一个设置了限制,但就是这样

标签: python python-2.7 pyodbc


【解决方案1】:

使用parameters:

...
test = cursor.execute("select name from customer where order_id = ?", row.id)
...

数字后面的L表示该值为long类型。

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 2015-02-27
    • 2012-08-19
    • 1970-01-01
    • 2014-12-30
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    相关资源
    最近更新 更多