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