运行我的查询后,我得到1列结果
5
6
98
101
有没有办法将此结果存储为数组,以便我以后可以使用它 在像
这样的查询中WHERE NOT IN ('5','6','98','101')
我知道存储单个变量结果但这可能吗?
我不能使用@Table变量,因为我将来会再次重新运行查询并且它超出范围
答案 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()
中轻松使用。