遇到了一查询需求,给出一个Excel包含537个序列号,不可能一个一个序列号复制到SQL语句中擦查询的。
如果想将一个清单中的SN一次性查询出来,基本都是考虑使用in,但是在SQL中,字符串需要使用单引号和逗号分隔,可能有其它方式,但是使用Python是最快捷的。
需要的格式如下:
'54984274','54984275','54984276','54984287','54984288'
Select * from 表名 where SerialNr in('54984274','54984275','54984276','54984287','54984288')
需要将500多个SN拼凑成如上格式,每个SN加上单引号和逗号,最后一个不需要逗号
1.将Excecl中的Sn复制到一个文本中,如1.txt
2.读取文本中的SN,每行拼接单引号和逗号
3.输出,手动Copy到SQL语句中查询即可
完整代码如下:
with open(r'D:\1.txt') as f: for l in f: sn = "'"+l.replace('\n', '').strip()+"'," print(sn, end='')
输出在一行,是方便Copy使用的,也可以多行输出。
print(sn) 将end=''去掉,直接每行换行
SQl中直接查询,