pymssql游标取数失败

问题遇到的现象和发生背景

我使用vscode,希望用python的pymssql库,从sqlserver中取得数据,我用了cursor.execute(sql)来执行从sqlserver取数的语句
若是执行“select * from table_name”可以通过fetchall()得到数据
但若执行“select * from table_name like column like 'pattern' ”的模糊搜索语句结果就是为空

问题相关代码,请勿粘贴截图

代码如下:

server = "192.168.18.72"    # 连接服务器地址
user = "sft"  # 连接帐号
password = "abcABC321"  # 连接密码
conn = pymssql.connect(server, user, password, "mcdp",charset='cp936')  # 获取连接
cursor = conn.cursor()  # 获取光标

product = '缝线'
sql1 = ("select * from mykj_product mp where product_name like '%%%s'") % (product)

data = cursor.execute(sql1)
data_name = data[0]

sql1的执行结果如下图:

img


我在sqlserver上执行这句话是能取出数来的,但是用上面的代码就是空

运行结果及报错内容

img

我在sqlserver上运行的结果

img

我想要达到的结果

请各位指教,谢谢啦

%s不能加‘’的
参考:https://blog.csdn.net/iceou/article/details/116464331

少了一句,改为这样就好了:

data = cursor.execute(sql1)
data = cursor.fetchall()
data_name = data[0]

游标查询到的内容会保存在一个地方,不会直接打印到屏幕上,它提供游标接口给我们用。
cursor.execute(SQL)之后,可以用fetchone() 或 fetchall() 或 fetchmany(n) 函数来获取查询结果。