Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用参数和通配符运算符读取sql_Python_Sql_Pandas_Wildcard - Fatal编程技术网

Python 使用参数和通配符运算符读取sql

Python 使用参数和通配符运算符读取sql,python,sql,pandas,wildcard,Python,Sql,Pandas,Wildcard,我试图通过python从sql检索数据,代码如下: query = ("SELECT stuff FROM TABLE WHERE name like %%(this_name)s%") result = pd.read_sql(query,con=cnx,params={'this_name':some_name}) 当我不必通过通配符%时,上面的代码可以完美地工作。 但是,在这种情况下,代码不起作用。如何在查询中传递通配符运算符?谢谢。考虑将通配符运算符%连接到传入的值: query =

我试图通过python从sql检索数据,代码如下:

query = ("SELECT stuff FROM TABLE WHERE name like %%(this_name)s%")
result = pd.read_sql(query,con=cnx,params={'this_name':some_name})
当我不必通过通配符%时,上面的代码可以完美地工作。
但是,在这种情况下,代码不起作用。如何在查询中传递通配符运算符?谢谢。

考虑将通配符运算符
%
连接到传入的值:

query = ("SELECT stuff FROM TABLE WHERE name LIKE %(this_name)s") 
result = pd.read_sql(query,con=cnx, params={'this_name': '%'+ some_name +'%'})

尝试在like模式周围使用docstring和一些引号。看起来您正在使用pyformat样式

query = """SELECT stuff FROM TABLE WHERE name LIKE '%%(this_name)s%'"""
results = pd.read_sql(query, con=cnx, params={'this_name': some_name})
可能重复的