首页 > 解决方案 > 在 mssql pyodbc 连接中使用“where”和“in”条件在 MSSQL 中传递列表

问题描述

有没有办法加入包含需要传递给 MSSQL 查询的单引号字符串的列表?

输入动态列表:

my_list1 = ['2021'] // This would always return single value
my_list2 = ['T1', 'T2'] // This would always return multiple string values

需要将其传递给以下查询:

    query = """SELECT * FROM [Test].[dbo].[Table2]  where ry = ? and tn in (?)"""
    print(query)
    table2 =  cursor.execute(query, (my_list1 , my_list2 ))

我尝试了很多事情,例如:

  1. 使用 joinformat_strings = ','.join(f'"{selected_tasks}"')创建一个字符串并传递给 SQL 查询,但这会返回一个带有转义引号的字符串,但会失败。
  2. 试图将列表直接传递给再次失败的查询。

标签: pythonsql-serverpyodbc

解决方案


推荐阅读