将SQL查询结果(1列)存储为Array

时间:2015-09-14 18:48:35

标签: sql sql-server stored-procedures

运行我的查询后,我得到1列结果

5
6
98
101

有没有办法将此结果存储为数组,以便我以后可以使用它 在像

这样的查询中
WHERE NOT IN ('5','6','98','101')

我知道存储单个变量结果但这可能吗?

我不能使用@Table变量,因为我将来会再次重新运行查询并且它超出范围

1 个答案:

答案 0 :(得分:0)

虽然建议使用此方法,但可以使用import pymssql def return_mssql_dict(sql): try: con = pymssql.connect(server, user, password, database_name) cur = con.cursor() cur.execute(sql) def return_dict_pair(row_item): return_dict = {} for column_name, row in zip(cur.description, row_item): return_dict[column_name[0]] = row return return_dict return_list = [] for row in cur: row_item = return_dict_pair(row) return_list.append(row_item) con.close() return return_list except Exception, e: print '%s' % (e) (逗号分隔值)将数组存储在单个列中。只需创建一个CSV数组并通过存储包含特定顺序值的字符串来存储它。基本上将所有值存储到一个字符串中,每个值由该字符串中的VARCHAR分隔。将其存储到您选择的列中。您可以稍后获取字符串并使用字符串解析器解析它,即使用python中的comma函数。 重新我不建议这样做,我会改为使用多个列,一个引用每个值并以这种方式访问​​它们 使用单独的列可以在.split()中轻松使用。