如何在python中的运算符之间使用?

时间:2019-07-16 10:45:32

标签: python sql-server python-3.x pandas

我想根据一些值范围(例如1到10)提取少量记录。 我建立了odbc连接,并尝试使用以下代码。

%AddDeps org.vegas-viz vegas_2.11 {vegas-version} --transitive
implicit val render = vegas.render.ShowHTML(kernel.display.content("text/html", _))

但是它正在报告: idstart = 1 idend = 10 cursor.execute("SELECT * FROM test WHERE Serial_Num >= %s AND Serial_Num <= %s", (idstart , idend ))

我看到熊猫read_sql用于sqlite。有什么方法可以针对MS SQL SERVER执行此操作。

1 个答案:

答案 0 :(得分:3)

不同的Python数据库驱动程序使用不同的占位符。虽然有些将%s用作未命名的占位符,而另一些使用?

cursor.execute(
    "SELECT * FROM test WHERE Serial_Num >= ? AND Serial_Num <= ?",
    (idstart , idend)
)

您需要参考确切的数据库驱动程序文档以了解使用哪种样式,或查阅<module>.paramstyle attribute

Pandas read_sql不仅适用于SQLite,而且如果您不使用SQLite,那么您必须使用SQLAlchemy来管理连接。 SQLAlchemy supports Microsoft SQL server connections