在使用 pyodbc 从 Microsoft Access 数据库读取 table 时,在 sql 查询中使用 Like 和 pandas.read_sql

Using Like in sql query with pandas.read_sql while reading table from Microsoft Access Database using pyodbc

我有一个 Microsoft Access 数据库 table,其中 Location 列有许多位置 "NY" 作为子字符串。我想在 pandas.read_sql() 中使用 like 关键字获取所有这些位置。 我正在尝试以下查询。

par="TD"

cnxn = pyodbc.connect('DRIVER={};DBQ={}'.format(driver, dbq))

sql='SELECT Name,Designation,Location from UserInfo where Location Like '%s''%par

data=pandas.read_sql(sql,cnxn)

我收到一个空数据框。 '

试试这个:

params=("TD%")

sql="SELECT Name,Designation,Location from UserInfo where Location Like ?"

data=pandas.read_sql(sql, cnxn, params=params)
cnxn = pyodbc.connect('DRIVER={};DBQ={}'.format(driver, dbq))

data=pandas.read_sql_query("SELECT Name,Designation,Location from UserInfo where Location Like '%TD%' ",cnxn)

这对我有用。