Python pyodbc 返回\x0e

标签 python sql pyodbc

我试图在我的 SQL 查询中返回一个硬编码值,但是当使用 pyodbc 运行查询时,随机记录返回“\x0e”而不是硬编码值(在本例中为“16”)。如果我在服务器 (MS SQL Server 2008) 上运行查询,查询将返回所有正确的结果和值。

查询的开头是这样的:

我的 SQL 代码:

Select '"16","' + S.ShipNum + '","'

我的 python 代码:

cursor.execute("""Select '\"16\",\"' + SS.ShipNum + '\",\"'

是否有另一种方法可以保证从查询返回值?

最佳答案

\016 是\x0e 的八进制表示 所以我认为它更多地与你转义双引号的方式有关。在你的 python 中,你实际上得到的是\16 而不是你想要的 "16"。

也许你应该尝试准备好的语句。

ps = db.prepare("SELECT 16")
ps()

返回: [(16,)]

其他例子可以在这里看到: [ http://python.projects.pgfoundry.org/docs/0.8/driver.html#parameterized-statements]

你可以在这里看到所有的 ascii 和其他字符集 [ http://donsnotes.com/tech/charsets/ascii.html]

关于Python pyodbc 返回\x0e,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23762346/

相关文章:

python - 使用 float 创建 if 语句

sql - 在 Oracle 中使用 XQuery

sql - mysql比较枚举

c# - 如何使用数据库中的标记生成 asp.net 控件

使用 pyodbc 的 python 类。多行错误

asp.net - 以 kwargs 为单位的动态值

Python 相同的字符不等于

python套接字Windows 10连接超时

python - 从 Python (pyodbc) 使用 SQL Server 存储过程

python - pyodbc - "Data source name not found, and no default driver specified"